Created
July 17, 2014 22:15
-
-
Save sstur/7dfa1f24763a06eec855 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function() { | |
if (window.document.querySelector && window.document.body) { | |
if (!window.console) { | |
window.console = {}; | |
} | |
if (!("log" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["log"] = function() { | |
}; | |
} | |
if (!("warn" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["warn"] = function() { | |
}; | |
} | |
if (!("error" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["error"] = function() { | |
}; | |
} | |
if (!("groupCollapsed" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["groupCollapsed"] = function() { | |
}; | |
} | |
if (!("groupEnd" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["groupEnd"] = function() { | |
}; | |
} | |
if (!("time" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["time"] = function() { | |
}; | |
} | |
if (!("timeEnd" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["timeEnd"] = function() { | |
}; | |
} | |
if (!("timeStamp" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["timeStamp"] = function() { | |
}; | |
} | |
if (!("assert" in console)) { | |
/** | |
* @return {undefined} | |
*/ | |
console["assert"] = function() { | |
}; | |
} | |
/** @type {string} */ | |
kGitCommitHash = "a7eacaa0433eff54f6c702c2eb8f001554bd5065"; | |
var self; | |
if (!("FormData" in window)) { | |
/** | |
* @return {undefined} | |
*/ | |
window.FormData = function() { | |
}; | |
} | |
if (!("CustomEvent" in window)) { | |
/** | |
* @return {undefined} | |
*/ | |
window.CustomEvent = function() { | |
}; | |
} | |
/** | |
* @param {Function} compareFn | |
* @return {undefined} | |
*/ | |
var binarySearch_ = function(compareFn) { | |
compareFn(); | |
}; | |
/** | |
* @param {Function} fn | |
* @param {?} obj | |
* @param {string} type | |
* @return {?} | |
*/ | |
var bind = function(fn, obj, type) { | |
if (fn.bind) { | |
return fn.call.apply(fn.bind, arguments); | |
} | |
/** @type {Array.<?>} */ | |
var args = Array.prototype.slice.call(arguments, 2); | |
return function() { | |
/** @type {Array.<?>} */ | |
var newArgs = args.slice(); | |
newArgs.push.apply(newArgs, arguments); | |
return fn.apply(obj, args); | |
}; | |
}; | |
/** | |
* @param {Function} action | |
* @param {Function} type | |
* @return {?} | |
*/ | |
var slice = function(action, type) { | |
/** @type {Array.<?>} */ | |
var args = Array.prototype.slice.call(arguments, 1); | |
return function() { | |
/** @type {Array.<?>} */ | |
var newArgs = args.slice(); | |
newArgs.push.apply(newArgs, arguments); | |
return action.apply(this, newArgs); | |
}; | |
}; | |
/** | |
* @param {?} obj | |
* @return {?} | |
*/ | |
var exec = function(obj) { | |
return void 0 !== obj; | |
}; | |
/** | |
* @param {number} value | |
* @return {?} | |
*/ | |
var isFunction = function(value) { | |
return void 0 === value; | |
}; | |
/** | |
* @param {(Array|string)} elements | |
* @return {?} | |
*/ | |
var checkElements = function(elements) { | |
return null === elements; | |
}; | |
/** | |
* @param {Function} name | |
* @param {Function} value | |
* @return {undefined} | |
*/ | |
var inherits = function(name, value) { | |
/** | |
* @return {undefined} | |
*/ | |
function tempCtor() { | |
} | |
tempCtor.prototype = value.prototype; | |
name.Ga = value.prototype; | |
name.prototype = new tempCtor; | |
/** @type {Function} */ | |
name.prototype.constructor = name; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var tmp = function() { | |
throw Error("Unimplemented abstract method."); | |
}; | |
/** | |
* @param {string} opt_a2 | |
* @param {Function} var_args | |
* @return {undefined} | |
*/ | |
var append = function(opt_a2, var_args) { | |
var codeSegments = opt_a2.split("."); | |
/** @type {Window} */ | |
var obj = window; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var key = codeSegments[i]; | |
var res = i == codeSegments.length - 1 ? var_args : {}; | |
if (!(key in obj)) { | |
obj[key] = res; | |
} | |
obj = obj[key]; | |
} | |
}; | |
/** | |
* @param {?} s | |
* @return {undefined} | |
*/ | |
var makeModuleMap = function(s) { | |
try { | |
(function() { | |
eval(s); | |
})(); | |
} catch (e) { | |
throw logError(e), e; | |
} | |
}; | |
/** | |
* @param {?} value | |
* @return {?} | |
*/ | |
var typeOf = function(value) { | |
/** @type {string} */ | |
var type = typeof value; | |
if ("object" == type) { | |
if (value) { | |
if (value instanceof Array) { | |
return "array"; | |
} | |
if (value instanceof Object) { | |
return type; | |
} | |
/** @type {string} */ | |
var isFunction = Object.prototype.toString.call(value); | |
if ("[object Window]" == isFunction) { | |
return "object"; | |
} | |
if ("[object Array]" == isFunction || "number" == typeof value.length && ("undefined" != typeof value.splice && ("undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("splice")))) { | |
return "array"; | |
} | |
if ("[object Function]" == isFunction || "undefined" != typeof value.call && ("undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("call"))) { | |
return "function"; | |
} | |
} else { | |
return "null"; | |
} | |
} else { | |
if ("function" == type && "undefined" == typeof value.call) { | |
return "object"; | |
} | |
} | |
return type; | |
}; | |
/** | |
* @param {Function} child | |
* @param {Function} parent | |
* @return {undefined} | |
*/ | |
var __extends = function(child, parent) { | |
/** | |
* @return {undefined} | |
*/ | |
function ctor() { | |
} | |
ctor.prototype = parent.prototype; | |
child.Ga = parent.prototype; | |
child.prototype = new ctor; | |
/** @type {Function} */ | |
child.prototype.constructor = child; | |
}; | |
var properties = { | |
"\x00" : "\\0", | |
"\b" : "\\b", | |
"\f" : "\\f", | |
"\n" : "\\n", | |
"\r" : "\\r", | |
"\t" : "\\t", | |
"\x0B" : "\\x0B", | |
'"' : '\\"', | |
"\\" : "\\\\" | |
}; | |
var internalValues = { | |
"'" : "\\'" | |
}; | |
/** | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
var repeat = function(optgroup) { | |
/** @type {string} */ | |
optgroup = String(optgroup); | |
if (optgroup.quote) { | |
return optgroup.quote(); | |
} | |
/** @type {Array} */ | |
var tagNameArr = ['"']; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < optgroup.length;i++) { | |
/** @type {string} */ | |
var key = optgroup.charAt(i); | |
/** @type {number} */ | |
var value = key.charCodeAt(0); | |
/** @type {Array} */ | |
var nstate = tagNameArr; | |
/** @type {number} */ | |
var n = i + 1; | |
var val; | |
if (!(val = properties[key])) { | |
if (!(31 < value && 127 > value)) { | |
if (key in internalValues) { | |
key = internalValues[key]; | |
} else { | |
if (key in properties) { | |
key = internalValues[key] = properties[key]; | |
} else { | |
/** @type {string} */ | |
value = key; | |
/** @type {number} */ | |
val = key.charCodeAt(0); | |
if (31 < val && 127 > val) { | |
/** @type {string} */ | |
value = key; | |
} else { | |
if (256 > val) { | |
if (value = "\\x", 16 > val || 256 < val) { | |
value += "0"; | |
} | |
} else { | |
/** @type {string} */ | |
value = "\\u"; | |
if (4096 > val) { | |
value += "0"; | |
} | |
} | |
value += val.toString(16).toUpperCase(); | |
} | |
/** @type {string} */ | |
key = internalValues[key] = value; | |
} | |
} | |
} | |
val = key; | |
} | |
nstate[n] = val; | |
} | |
tagNameArr.push('"'); | |
return tagNameArr.join(""); | |
}; | |
/** | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
var formatNumber = function(optgroup) { | |
if (isFinite(optgroup)) { | |
/** @type {string} */ | |
optgroup = String(optgroup); | |
} | |
return "string" == typeof optgroup ? /^\s*-?0x/i.test(optgroup) ? parseInt(optgroup, 16) : parseInt(optgroup, 10) : NaN; | |
}; | |
var ap = Array.prototype; | |
/** @type {function (?, Function, boolean): undefined} */ | |
var getPostfixExpression = ap.forEach ? function(until, mapper, opt_end) { | |
ap.forEach.call(until, mapper, opt_end); | |
} : function(arg, filter, str) { | |
var valuesLen = arg.length; | |
var arr2 = "string" == typeof arg ? arg.split("") : arg; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < valuesLen;i++) { | |
if (i in arr2) { | |
filter.call(str, arr2[i], i, arg); | |
} | |
} | |
}; | |
/** | |
* @param {Array} obj | |
* @param {Function} offset | |
* @return {undefined} | |
*/ | |
var Emitter = function(obj, offset) { | |
ap.sort.call(obj, offset || alpha); | |
}; | |
/** | |
* @param {(boolean|number|string)} a | |
* @param {(boolean|number|string)} b | |
* @return {?} | |
*/ | |
var alpha = function(a, b) { | |
return a > b ? 1 : a < b ? -1 : 0; | |
}; | |
/** | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
var htmlEscape = function(optgroup) { | |
/** @type {string} */ | |
optgroup = String(optgroup); | |
if (/^\s*$/.test(optgroup) ? 0 : /^[\],:{}\s\u2028\u2029]*$/.test(optgroup.replace(/\\["\\\/bfnrtu]/g, "@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""))) { | |
try { | |
return eval("(" + optgroup + ")"); | |
} catch (b) { | |
} | |
} | |
throw Error("Invalid JSON string: " + optgroup); | |
}; | |
/** | |
* @param {string} a | |
* @param {?} blue | |
* @return {undefined} | |
*/ | |
var Color = function(a, blue) { | |
if (null != a) { | |
this.append.apply(this, arguments); | |
} | |
}; | |
self = Color.prototype; | |
/** @type {string} */ | |
self.Kc = ""; | |
/** | |
* @param {string} type | |
* @return {undefined} | |
*/ | |
self.set = function(type) { | |
/** @type {string} */ | |
this.Kc = "" + type; | |
}; | |
/** | |
* @param {?} data | |
* @param {?} first | |
* @param {string} var_args | |
* @return {?} | |
*/ | |
self.append = function(data, first, var_args) { | |
this.Kc += data; | |
if (null != first) { | |
/** @type {number} */ | |
var i = 1; | |
for (;i < arguments.length;i++) { | |
this.Kc += arguments[i]; | |
} | |
} | |
return this; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.clear = function() { | |
/** @type {string} */ | |
this.Kc = ""; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.toString = function() { | |
return this.Kc; | |
}; | |
/** | |
* @param {Object} obj | |
* @param {Function} f | |
* @return {undefined} | |
*/ | |
var curry = function(obj, f) { | |
var key; | |
for (key in obj) { | |
f.call(void 0, obj[key], key, obj); | |
} | |
}; | |
/** | |
* @param {Object} obj | |
* @return {?} | |
*/ | |
var locals = function(obj) { | |
/** @type {Array} */ | |
var res = []; | |
/** @type {number} */ | |
var resLength = 0; | |
var key; | |
for (key in obj) { | |
res[resLength++] = obj[key]; | |
} | |
return res; | |
}; | |
/** | |
* @param {Object} obj | |
* @param {Function} f | |
* @return {?} | |
*/ | |
var isFinite = function(obj, f) { | |
var key; | |
a: { | |
for (key in obj) { | |
if (f.call(void 0, obj[key], key, obj)) { | |
break a; | |
} | |
} | |
key = void 0; | |
} | |
return key && obj[key]; | |
}; | |
/** | |
* @param {?} i | |
* @param {(Error|string)} field | |
* @param {Object} fields | |
* @return {undefined} | |
*/ | |
var Item = function(i, field, fields) { | |
this.Iq = i; | |
this.Lq = field.name || null; | |
this.ie = {}; | |
/** @type {number} */ | |
i = 0; | |
for (;i < fields.length;i++) { | |
field = fields[i]; | |
/** @type {(Error|string)} */ | |
this.ie[field.yb] = field; | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
Item.prototype.getName = function() { | |
return this.Lq; | |
}; | |
/** | |
* @param {Array} element | |
* @return {?} | |
*/ | |
var getId = function(element) { | |
element = locals(element.ie); | |
Emitter(element, function(p2, p) { | |
return p2.yb - p.yb; | |
}); | |
return element; | |
}; | |
/** | |
* @param {?} o | |
* @param {string} recurring | |
* @return {?} | |
*/ | |
var setFillAndStroke = function(o, recurring) { | |
return isFinite(o.ie, function(field) { | |
return field.getName() == recurring; | |
}) || null; | |
}; | |
/** | |
* @param {?} opt_map | |
* @param {number} var_args | |
* @param {Object} target | |
* @return {undefined} | |
*/ | |
var Map = function(opt_map, var_args, target) { | |
/** @type {number} */ | |
this.yb = var_args; | |
this.Lq = target.name; | |
/** @type {boolean} */ | |
this.Ee = !!target.aa; | |
this.Md = target.c; | |
this.Wg = target.type; | |
/** @type {boolean} */ | |
this.nt = false; | |
switch(this.Md) { | |
case KEYCODE_SPACE: | |
; | |
case KEYCODE_LEFT: | |
; | |
case KEYCODE_DOWN: | |
; | |
case KEYCODE_H: | |
; | |
case z: | |
/** @type {boolean} */ | |
this.nt = true; | |
} | |
this.op = target.defaultValue; | |
}; | |
/** @type {number} */ | |
var KEYCODE_SPACE = 3; | |
/** @type {number} */ | |
var KEYCODE_LEFT = 4; | |
/** @type {number} */ | |
var KEYCODE_DOWN = 6; | |
/** @type {number} */ | |
var KEYCODE_H = 16; | |
/** @type {number} */ | |
var z = 18; | |
/** | |
* @return {?} | |
*/ | |
Map.prototype.getName = function() { | |
return this.Lq; | |
}; | |
/** | |
* @param {?} node | |
* @return {?} | |
*/ | |
var removeChildren = function(node) { | |
if (void 0 === node.op) { | |
var val = node.Wg; | |
node.op = val === Boolean ? false : val === Number ? 0 : val === String ? "" : new val; | |
} | |
return node.op; | |
}; | |
/** | |
* @param {?} keepData | |
* @return {?} | |
*/ | |
var requestAnimationFrame = function(keepData) { | |
return 11 == keepData.Md || 10 == keepData.Md; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var _super = function() { | |
this.sd = {}; | |
this.ie = this.oc().ie; | |
/** @type {null} */ | |
this.kd = this.zq = null; | |
}; | |
/** | |
* @param {Function} keepData | |
* @param {Function} source | |
* @param {Object} str | |
* @return {undefined} | |
*/ | |
var dasherize = function(keepData, source, str) { | |
str = str || keepData; | |
var optgroup; | |
for (optgroup in keepData.sd) { | |
/** @type {number} */ | |
var n = Number(optgroup); | |
if (!keepData.ie[n]) { | |
source.call(str, n, keepData.sd[optgroup]); | |
} | |
} | |
}; | |
self = _super.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.oc = function() { | |
var el = this.constructor; | |
var groups; | |
if (!(groups = el.mt)) { | |
var item; | |
groups = el.jy; | |
/** @type {Array} */ | |
var x = []; | |
var g; | |
for (g in groups) { | |
if (groups.hasOwnProperty(g)) { | |
/** @type {number} */ | |
g = parseInt(g, 10); | |
if (0 == g) { | |
item = groups[0]; | |
} else { | |
x.push(new Map(0, g, groups[g])); | |
} | |
} | |
} | |
item = new Item(el, item, x); | |
groups = el.mt = item; | |
} | |
return groups; | |
}; | |
/** | |
* @param {(number|string)} key | |
* @param {number} value | |
* @return {?} | |
*/ | |
self.get = function(key, value) { | |
return func(this, key.yb, value); | |
}; | |
/** | |
* @param {string} type | |
* @param {Object} opt_isDefault | |
* @return {?} | |
*/ | |
self.set = function(type, opt_isDefault) { | |
return origFindId(this, type.yb, opt_isDefault); | |
}; | |
/** | |
* @param {?} type | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.add = function(type, expectedNumberOfNonCommentArgs) { | |
return _findBelongsTo(this, type.yb, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @param {?} arr | |
* @return {?} | |
*/ | |
self.clear = function(arr) { | |
return isArray(this, arr.yb); | |
}; | |
/** | |
* @param {?} keepData | |
* @return {?} | |
*/ | |
self.wa = function(keepData) { | |
if (!keepData || this.constructor != keepData.constructor) { | |
return false; | |
} | |
var codeSegments = getId(this.oc()); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var type = codeSegments[i]; | |
if (ondata(this, type.yb) != ondata(keepData, type.yb)) { | |
return false; | |
} | |
if (ondata(this, type.yb)) { | |
var id = requestAnimationFrame(type); | |
var config = _deepEqual(this, type); | |
var types = _deepEqual(keepData, type); | |
if (type.Ee) { | |
if (config.length != types.length) { | |
return false; | |
} | |
/** @type {number} */ | |
type = 0; | |
for (;type < config.length;type++) { | |
if (id ? !config[type].wa(types[type]) : config[type] != types[type]) { | |
return false; | |
} | |
} | |
} else { | |
if (id ? !config.wa(types) : config != types) { | |
return false; | |
} | |
} | |
} | |
} | |
return true; | |
}; | |
/** | |
* @param {?} v02 | |
* @param {?} obj | |
* @return {undefined} | |
*/ | |
var bindCallbacks = function(v02, obj) { | |
if (v02 != obj) { | |
v02.sd = {}; | |
if (v02.kd) { | |
v02.kd = {}; | |
} | |
translate(v02, obj); | |
} | |
}; | |
/** | |
* @param {Object} a | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
var translate = function(a, name) { | |
var codeSegments = getId(a.oc()); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var cycle = codeSegments[i]; | |
if (ondata(name, cycle.yb)) { | |
if (a.kd) { | |
delete a.kd[cycle.yb]; | |
} | |
var id = requestAnimationFrame(cycle); | |
if (cycle.Ee) { | |
var b = deepEqual(name, cycle.yb); | |
/** @type {number} */ | |
var bi = 0; | |
for (;bi < b.length;bi++) { | |
a.add(cycle, id ? b[bi].ya() : b[bi]); | |
} | |
} else { | |
b = _deepEqual(name, cycle); | |
if (id) { | |
if (id = _deepEqual(a, cycle)) { | |
translate(id, b); | |
} else { | |
a.set(cycle, b.ya()); | |
} | |
} else { | |
a.set(cycle, b); | |
} | |
} | |
} | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ya = function() { | |
var a = new this.constructor; | |
bindCallbacks(a, this); | |
return a; | |
}; | |
/** | |
* @param {?} keepData | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
var ondata = function(keepData, expectedNumberOfNonCommentArgs) { | |
return expectedNumberOfNonCommentArgs in keepData.sd && (void 0 !== keepData.sd[expectedNumberOfNonCommentArgs] && null !== keepData.sd[expectedNumberOfNonCommentArgs]); | |
}; | |
/** | |
* @param {?} element | |
* @param {number} type | |
* @return {?} | |
*/ | |
var _deepEqual = function(element, type) { | |
var key = type.yb; | |
if (!key in element.sd) { | |
return null; | |
} | |
var val = element.sd[key]; | |
if (null == val) { | |
return null; | |
} | |
if (element.zq) { | |
if (!(key in element.kd)) { | |
var node = element.zq; | |
if (null != val) { | |
if (type.Ee) { | |
/** @type {Array} */ | |
var data = []; | |
typeOf(val); | |
/** @type {number} */ | |
var j = 0; | |
for (;j < val.length;j++) { | |
data[j] = node.Zi(type, val[j]); | |
} | |
/** @type {Array} */ | |
val = data; | |
} else { | |
val = node.Zi(type, val); | |
} | |
} | |
return element.kd[key] = val; | |
} | |
return element.kd[key]; | |
} | |
return val; | |
}; | |
/** | |
* @param {?} name | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @param {number} obj | |
* @return {?} | |
*/ | |
var func = function(name, expectedNumberOfNonCommentArgs, obj) { | |
expectedNumberOfNonCommentArgs = name.ie[expectedNumberOfNonCommentArgs]; | |
name = _deepEqual(name, expectedNumberOfNonCommentArgs); | |
return expectedNumberOfNonCommentArgs.Ee ? name[obj || 0] : name; | |
}; | |
/** | |
* @param {?} name | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
var get_mangled = function(name, expectedNumberOfNonCommentArgs, opt_attributes) { | |
return ondata(name, expectedNumberOfNonCommentArgs) ? func(name, expectedNumberOfNonCommentArgs, opt_attributes) : removeChildren(name.ie[expectedNumberOfNonCommentArgs]); | |
}; | |
/** | |
* @param {?} actual | |
* @param {number} desiredNonCommentArgIndex | |
* @return {?} | |
*/ | |
var deepEqual = function(actual, desiredNonCommentArgIndex) { | |
return _deepEqual(actual, actual.ie[desiredNonCommentArgIndex]) || []; | |
}; | |
/** | |
* @param {?} name | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
var member = function(name, expectedNumberOfNonCommentArgs) { | |
return name.ie[expectedNumberOfNonCommentArgs].Ee ? ondata(name, expectedNumberOfNonCommentArgs) ? name.sd[expectedNumberOfNonCommentArgs].length : 0 : ondata(name, expectedNumberOfNonCommentArgs) ? 1 : 0; | |
}; | |
/** | |
* @param {?} name | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @param {?} value | |
* @return {?} | |
*/ | |
var origFindId = function(name, expectedNumberOfNonCommentArgs, value) { | |
name.sd[expectedNumberOfNonCommentArgs] = value; | |
if (name.kd) { | |
name.kd[expectedNumberOfNonCommentArgs] = value; | |
} | |
return name; | |
}; | |
/** | |
* @param {?} dataAndEvents | |
* @param {number} desiredNonCommentArgIndex | |
* @param {?} owner | |
* @return {?} | |
*/ | |
var _findBelongsTo = function(dataAndEvents, desiredNonCommentArgIndex, owner) { | |
if (!dataAndEvents.sd[desiredNonCommentArgIndex]) { | |
/** @type {Array} */ | |
dataAndEvents.sd[desiredNonCommentArgIndex] = []; | |
} | |
dataAndEvents.sd[desiredNonCommentArgIndex].push(owner); | |
if (dataAndEvents.kd) { | |
delete dataAndEvents.kd[desiredNonCommentArgIndex]; | |
} | |
return dataAndEvents; | |
}; | |
/** | |
* @param {number} target | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
var isArray = function(target, expectedNumberOfNonCommentArgs) { | |
delete target.sd[expectedNumberOfNonCommentArgs]; | |
if (target.kd) { | |
delete target.kd[expectedNumberOfNonCommentArgs]; | |
} | |
return target; | |
}; | |
/** | |
* @param {Function} child | |
* @param {?} opt_attributes | |
* @return {undefined} | |
*/ | |
var isAncestor = function(child, opt_attributes) { | |
child.jy = opt_attributes; | |
/** | |
* @return {?} | |
*/ | |
child.oc = function() { | |
return child.mt || (new child).oc(); | |
}; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var AnimateEffect = function() { | |
}; | |
/** | |
* @param {?} key | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
AnimateEffect.prototype.aj = function(key, optgroup) { | |
return requestAnimationFrame(key) ? this.Ij(optgroup) : optgroup; | |
}; | |
/** | |
* @param {?} dataAndEvents | |
* @param {?} name | |
* @return {?} | |
*/ | |
AnimateEffect.prototype.Oi = function(dataAndEvents, name) { | |
var which = new dataAndEvents.Iq; | |
this.pp(which, name); | |
return which; | |
}; | |
/** | |
* @param {number} type | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
AnimateEffect.prototype.Zi = function(type, optgroup) { | |
if (requestAnimationFrame(type)) { | |
return optgroup instanceof _super ? optgroup : this.Oi(type.Wg.oc(), optgroup); | |
} | |
if (!type.nt) { | |
return optgroup; | |
} | |
var nativeType = type.Wg; | |
if (nativeType === String) { | |
if ("number" === typeof optgroup) { | |
return String(optgroup); | |
} | |
} else { | |
if (nativeType === Number && ("string" === typeof optgroup && /^-?[0-9]+$/.test(optgroup))) { | |
return Number(optgroup); | |
} | |
} | |
return optgroup; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var JobClass = function() { | |
}; | |
__extends(JobClass, AnimateEffect); | |
/** | |
* @param {?} dataAndEvents | |
* @param {?} name | |
* @return {?} | |
*/ | |
JobClass.prototype.Oi = function(dataAndEvents, name) { | |
var c = new dataAndEvents.Iq; | |
c.zq = this; | |
c.sd = name; | |
c.kd = {}; | |
return c; | |
}; | |
/** | |
* @return {?} | |
*/ | |
JobClass.prototype.pp = function() { | |
throw Error("Unimplemented"); | |
}; | |
/** | |
* @param {Function} dataAndEvents | |
* @return {undefined} | |
*/ | |
var FlatMessage = function(dataAndEvents) { | |
/** @type {Function} */ | |
this.iz = dataAndEvents; | |
}; | |
__extends(FlatMessage, AnimateEffect); | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
FlatMessage.prototype.Ij = function(name) { | |
var parts = getId(name.oc()); | |
var qs = {}; | |
/** @type {number} */ | |
var ii = 0; | |
for (;ii < parts.length;ii++) { | |
var p = parts[ii]; | |
var i = 1 == this.iz ? p.getName() : p.yb; | |
if (ondata(name, p.yb)) { | |
if (p.Ee) { | |
/** @type {Array} */ | |
var val = []; | |
/** @type {Array} */ | |
qs[i] = val; | |
/** @type {number} */ | |
i = 0; | |
for (;i < member(name, p.yb);i++) { | |
val.push(this.aj(p, name.get(p, i))); | |
} | |
} else { | |
qs[i] = this.aj(p, name.get(p)); | |
} | |
} | |
} | |
dasherize(name, function(i, val) { | |
qs[i] = val; | |
}); | |
return qs; | |
}; | |
/** | |
* @param {Object} object | |
* @param {Object} str | |
* @return {undefined} | |
*/ | |
FlatMessage.prototype.pp = function(object, str) { | |
var p = object.oc(); | |
var optgroup; | |
for (optgroup in str) { | |
var cycle; | |
var c = str[optgroup]; | |
/** @type {boolean} */ | |
var n = !/[^0-9]/.test(optgroup); | |
if (cycle = n ? p.ie[parseInt(optgroup, 10)] || null : setFillAndStroke(p, optgroup)) { | |
if (cycle.Ee) { | |
typeOf(c); | |
/** @type {number} */ | |
n = 0; | |
for (;n < c.length;n++) { | |
object.add(cycle, this.Zi(cycle, c[n])); | |
} | |
} else { | |
typeOf(c); | |
object.set(cycle, this.Zi(cycle, c)); | |
} | |
} else { | |
if (n) { | |
/** @type {Object} */ | |
cycle = object; | |
/** @type {number} */ | |
n = Number(optgroup); | |
cycle.sd[n] = c; | |
if (cycle.kd) { | |
delete cycle.kd[n]; | |
} | |
} | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Slice = function() { | |
}; | |
__extends(Slice, JobClass); | |
self = Slice.prototype; | |
/** @type {boolean} */ | |
self.Cw = false; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Ij = function(name) { | |
var codeSegments = getId(name.oc()); | |
/** @type {Array} */ | |
var obj = []; | |
var strip = this.Cw; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var storageKey = codeSegments[i]; | |
if (ondata(name, storageKey.yb)) { | |
var content = storageKey.yb; | |
content = strip ? content - 1 : content; | |
if (storageKey.Ee) { | |
/** @type {Array} */ | |
obj[content] = []; | |
/** @type {number} */ | |
var camelKey = 0; | |
for (;camelKey < member(name, storageKey.yb);camelKey++) { | |
obj[content][camelKey] = this.aj(storageKey, name.get(storageKey, camelKey)); | |
} | |
} else { | |
obj[content] = this.aj(storageKey, name.get(storageKey)); | |
} | |
} | |
} | |
dasherize(name, function(key, res) { | |
obj[strip ? key - 1 : key] = res; | |
}); | |
return obj; | |
}; | |
/** | |
* @param {?} key | |
* @param {boolean} dataAndEvents | |
* @return {?} | |
*/ | |
self.aj = function(key, dataAndEvents) { | |
return 8 == key.Md ? dataAndEvents ? 1 : 0 : AnimateEffect.prototype.aj.apply(this, arguments); | |
}; | |
/** | |
* @param {number} type | |
* @param {(number|string)} ctor | |
* @return {?} | |
*/ | |
self.Zi = function(type, ctor) { | |
return 8 == type.Md ? 1 === ctor : AnimateEffect.prototype.Zi.apply(this, arguments); | |
}; | |
/** | |
* @param {?} ctx | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Oi = function(ctx, name) { | |
var info = name; | |
if (this.Cw) { | |
/** @type {Array} */ | |
info = []; | |
var key; | |
for (key in name) { | |
info[parseInt(key, 10) + 1] = name[key]; | |
} | |
} | |
return Slice.Ga.Oi.call(this, ctx, info); | |
}; | |
/** | |
* @param {?} value | |
* @return {undefined} | |
*/ | |
var Access = function(value) { | |
/** @type {boolean} */ | |
this.Tm = !!value; | |
}; | |
__extends(Access, AnimateEffect); | |
/** | |
* @param {string} object | |
* @param {?} str | |
* @return {?} | |
*/ | |
Access.prototype.pp = function(object, str) { | |
object.oc(); | |
var parser = new FixParser; | |
return parser.parse(object, str.toString(), this.Tm) ? null : parser.getError(); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
Access.prototype.Ij = function(name) { | |
var clone = new $Element; | |
sender(this, name, clone); | |
return clone.toString(); | |
}; | |
/** | |
* @param {boolean} op | |
* @param {?} name | |
* @param {?} array | |
* @return {undefined} | |
*/ | |
var sender = function(op, name, array) { | |
var until = getId(name.oc()); | |
getPostfixExpression(until, function(storageKey) { | |
if (ondata(name, storageKey.yb)) { | |
var quoteNeeded = member(name, storageKey.yb); | |
/** @type {number} */ | |
var camelKey = 0; | |
for (;camelKey < quoteNeeded;++camelKey) { | |
array.append(storageKey.getName()); | |
if (11 == storageKey.Md || 10 == storageKey.Md) { | |
array.append(" {"); | |
rFlatten(array); | |
array.Uf += 2; | |
} else { | |
array.append(": "); | |
} | |
collect(this, name.get(storageKey, camelKey), storageKey, array); | |
if (11 == storageKey.Md || 10 == storageKey.Md) { | |
array.Uf -= 2; | |
array.append("}"); | |
} | |
rFlatten(array); | |
} | |
} | |
}, op); | |
dasherize(name, function(k, item) { | |
if (item) { | |
array.append(k); | |
if ("object" == typeOf(item)) { | |
array.append(" {"); | |
rFlatten(array); | |
array.Uf += 2; | |
} else { | |
array.append(": "); | |
} | |
switch(typeOf(item)) { | |
case "string": | |
item = repeat(item); | |
array.append(item); | |
break; | |
case "object": | |
sender(this, item, array); | |
break; | |
default: | |
array.append(item.toString()); | |
} | |
if ("object" == typeOf(item)) { | |
array.Uf -= 2; | |
array.append("}"); | |
} else { | |
rFlatten(array); | |
} | |
} | |
}, op); | |
}; | |
/** | |
* @param {boolean} obj | |
* @param {(Error|string)} value | |
* @param {string} key | |
* @param {?} array | |
* @return {undefined} | |
*/ | |
var collect = function(obj, value, key, array) { | |
switch(key.Md) { | |
case 1: | |
; | |
case 2: | |
; | |
case KEYCODE_SPACE: | |
; | |
case KEYCODE_LEFT: | |
; | |
case 5: | |
; | |
case 13: | |
; | |
case KEYCODE_DOWN: | |
; | |
case 7: | |
; | |
case 8: | |
; | |
case 15: | |
; | |
case KEYCODE_H: | |
; | |
case 17: | |
; | |
case z: | |
array.append(value); | |
break; | |
case 12: | |
; | |
case 9: | |
value = repeat(value.toString()); | |
array.append(value); | |
break; | |
case 14: | |
/** @type {boolean} */ | |
var e = false; | |
curry(key.Wg, function(el, k) { | |
if (el == value) { | |
array.append(k); | |
/** @type {boolean} */ | |
e = true; | |
} | |
}); | |
if (!e) { | |
array.append(value.toString()); | |
} | |
break; | |
case 10: | |
; | |
case 11: | |
sender(obj, value, array); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var $Element = function() { | |
/** @type {number} */ | |
this.Uf = 0; | |
/** @type {Array} */ | |
this.Kc = []; | |
/** @type {boolean} */ | |
this.dr = true; | |
}; | |
/** | |
* @return {?} | |
*/ | |
$Element.prototype.toString = function() { | |
return this.Kc.join(""); | |
}; | |
/** | |
* @param {?} data | |
* @return {undefined} | |
*/ | |
$Element.prototype.append = function(data) { | |
if (this.dr) { | |
/** @type {number} */ | |
var Uf = 0; | |
for (;Uf < this.Uf;++Uf) { | |
this.Kc.push(" "); | |
} | |
/** @type {boolean} */ | |
this.dr = false; | |
} | |
this.Kc.push(data.toString()); | |
}; | |
/** | |
* @param {?} a | |
* @return {undefined} | |
*/ | |
var rFlatten = function(a) { | |
a.Kc.push("\n"); | |
/** @type {boolean} */ | |
a.dr = true; | |
}; | |
/** | |
* @param {?} ip | |
* @param {?} dataAndEvents | |
* @return {undefined} | |
*/ | |
var AIMove = function(ip, dataAndEvents) { | |
/** @type {boolean} */ | |
this.Uy = !!dataAndEvents; | |
this.gy = ip; | |
/** @type {number} */ | |
this.sb = 0; | |
this.ip = ip; | |
this.Ne = { | |
type : lastType, | |
value : null | |
}; | |
}; | |
/** @type {RegExp} */ | |
var lastType = /---end---/; | |
/** @type {RegExp} */ | |
var attribute = /^-?[a-zA-Z][a-zA-Z0-9_]*/; | |
/** @type {RegExp} */ | |
var property = /^(0x[0-9a-f]+)|(([-])?[0-9][0-9]*(\.?[0-9]+)?([f])?)/; | |
/** @type {RegExp} */ | |
var fix = /^"([^"\\]|\\.)*"/; | |
/** @type {RegExp} */ | |
var zH = /^\s/; | |
var scrubbed = { | |
uC : lastType, | |
oD : attribute, | |
po : property, | |
DB : /^#.*/, | |
cF : /^{/, | |
wB : /^}/, | |
eF : /^</, | |
yB : /^>/, | |
dF : /^\[/, | |
xB : /^\]/, | |
lx : fix, | |
BB : /^:/, | |
Kw : /^,/, | |
ZF : /^;/, | |
zH : zH | |
}; | |
/** | |
* @return {?} | |
*/ | |
AIMove.prototype.next = function() { | |
for (;advance(this);) { | |
if (this.Ne.type != zH || !this.Uy) { | |
return true; | |
} | |
} | |
this.Ne = { | |
type : lastType, | |
value : null | |
}; | |
return false; | |
}; | |
/** | |
* @param {(Object|string)} options | |
* @return {?} | |
*/ | |
var advance = function(options) { | |
if (options.sb >= options.gy.length) { | |
return false; | |
} | |
var on = options.ip; | |
/** @type {null} */ | |
var option = null; | |
curry(scrubbed, function(type) { | |
if (!option && type != lastType) { | |
var m = type.exec(on); | |
if (m) { | |
if (0 == m.index) { | |
option = { | |
type : type, | |
value : m[0] | |
}; | |
} | |
} | |
} | |
}); | |
if (option) { | |
options.Ne = option; | |
options.sb += option.value.length; | |
options.ip = options.ip.substring(option.value.length); | |
} | |
return!!option; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var FixParser = function() { | |
/** @type {null} */ | |
this.be = this.Mf = null; | |
/** @type {boolean} */ | |
this.Tm = false; | |
}; | |
/** | |
* @param {?} s | |
* @param {string} execResult | |
* @param {?} reviver | |
* @return {?} | |
*/ | |
FixParser.prototype.parse = function(s, execResult, reviver) { | |
/** @type {null} */ | |
this.Mf = null; | |
/** @type {boolean} */ | |
this.Tm = !!reviver; | |
this.be = new AIMove(execResult, true); | |
this.be.next(); | |
return isEmpty(this, s, ""); | |
}; | |
/** | |
* @return {?} | |
*/ | |
FixParser.prototype.getError = function() { | |
return this.Mf; | |
}; | |
/** | |
* @param {number} element | |
* @param {?} v21 | |
* @param {string} str | |
* @return {?} | |
*/ | |
var isEmpty = function(element, v21, str) { | |
for (;">" != element.be.Ne.value && ("}" != element.be.Ne.value && element.be.Ne.type != lastType);) { | |
if (!returnFalse(element, v21)) { | |
return false; | |
} | |
} | |
if (str) { | |
if (!$transition(element, str)) { | |
return false; | |
} | |
} else { | |
if (element.be.Ne.type != lastType) { | |
/** @type {string} */ | |
element.Mf = "Expected END token"; | |
} | |
} | |
return true; | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @param {Object} namespace | |
* @param {string} fix | |
* @return {?} | |
*/ | |
var animateSetup = function(expectedNumberOfNonCommentArgs, namespace, fix) { | |
expectedNumberOfNonCommentArgs = convertValue(expectedNumberOfNonCommentArgs, fix); | |
if (null === expectedNumberOfNonCommentArgs) { | |
return false; | |
} | |
if (fix.Ee) { | |
namespace.add(fix, expectedNumberOfNonCommentArgs); | |
} else { | |
namespace.set(fix, expectedNumberOfNonCommentArgs); | |
} | |
return true; | |
}; | |
/** | |
* @param {number} element | |
* @param {string} type | |
* @return {?} | |
*/ | |
var convertValue = function(element, type) { | |
switch(type.Md) { | |
case 1: | |
; | |
case 2: | |
var value = proceed(element, attribute); | |
if (value && (value = /^-?inf(?:inity)?f?$/i.test(value) ? Infinity * (0 == value.lastIndexOf("-", 0) ? -1 : 1) : /^nanf?$/i.test(value) ? NaN : null, null != value)) { | |
return value; | |
} | |
; | |
case 5: | |
; | |
case 13: | |
; | |
case 7: | |
; | |
case 15: | |
; | |
case 17: | |
return(value = proceed(element, property)) ? -1 != value.indexOf(".") ? parseFloat(value) : formatNumber(value) : null; | |
case KEYCODE_SPACE: | |
; | |
case KEYCODE_LEFT: | |
; | |
case KEYCODE_DOWN: | |
; | |
case KEYCODE_H: | |
; | |
case z: | |
return(value = proceed(element, property)) ? type.Wg == Number ? -1 != value.indexOf(".") ? parseFloat(value) : formatNumber(value) : value : null; | |
case 8: | |
value = proceed(element, attribute); | |
if (!value) { | |
return null; | |
} | |
switch(value) { | |
case "true": | |
return true; | |
case "false": | |
return false; | |
default: | |
return element.Mf = "Unknown type for bool: " + value, null; | |
} | |
; | |
case 14: | |
if (element.be.Ne.type == property) { | |
return proceed(element, property); | |
} | |
value = proceed(element, attribute); | |
if (!value) { | |
return null; | |
} | |
var count = type.Wg[value]; | |
return null == count ? (element.Mf = "Unknown enum value: " + value, null) : count; | |
case 12: | |
; | |
case 9: | |
return(value = proceed(element, fix)) ? htmlEscape(value).toString() : null; | |
} | |
}; | |
/** | |
* @param {number} element | |
* @return {?} | |
*/ | |
var verify = function(element) { | |
addElement(element, ":"); | |
if (addElement(element, "[")) { | |
for (;;) { | |
element.be.next(); | |
if (addElement(element, "]")) { | |
break; | |
} | |
if (!$transition(element, ",")) { | |
return false; | |
} | |
} | |
return true; | |
} | |
if (addElement(element, "<")) { | |
return isEmpty(element, null, ">"); | |
} | |
if (addElement(element, "{")) { | |
return isEmpty(element, null, "}"); | |
} | |
element.be.next(); | |
return true; | |
}; | |
/** | |
* @param {number} element | |
* @param {Object} namespace | |
* @return {?} | |
*/ | |
var returnFalse = function(element, namespace) { | |
var cycle = proceed(element, attribute); | |
if (!cycle) { | |
return element.Mf = "Missing field name", false; | |
} | |
/** @type {null} */ | |
var expires = null; | |
if (namespace) { | |
expires = setFillAndStroke(namespace.oc(), cycle.toString()); | |
} | |
if (null == expires) { | |
if (element.Tm) { | |
return verify(element); | |
} | |
/** @type {string} */ | |
element.Mf = "Unknown field: " + cycle; | |
return false; | |
} | |
if (11 == expires.Md || 10 == expires.Md) { | |
addElement(element, ":"); | |
a: { | |
cycle = expires; | |
/** @type {string} */ | |
expires = ""; | |
if (addElement(element, "<")) { | |
/** @type {string} */ | |
expires = ">"; | |
} else { | |
if (!$transition(element, "{")) { | |
/** @type {boolean} */ | |
cycle = false; | |
break a; | |
} | |
/** @type {string} */ | |
expires = "}"; | |
} | |
var expectedNumberOfNonCommentArgs; | |
expectedNumberOfNonCommentArgs = new (cycle.Wg.oc().Iq); | |
if (isEmpty(element, expectedNumberOfNonCommentArgs, expires)) { | |
if (cycle.Ee) { | |
namespace.add(cycle, expectedNumberOfNonCommentArgs); | |
} else { | |
namespace.set(cycle, expectedNumberOfNonCommentArgs); | |
} | |
/** @type {boolean} */ | |
cycle = true; | |
} else { | |
/** @type {boolean} */ | |
cycle = false; | |
} | |
} | |
if (!cycle) { | |
return false; | |
} | |
} else { | |
if (!$transition(element, ":")) { | |
return false; | |
} | |
if (expires.Ee && addElement(element, "[")) { | |
for (;;) { | |
if (!animateSetup(element, namespace, expires)) { | |
return false; | |
} | |
if (addElement(element, "]")) { | |
break; | |
} | |
if (!$transition(element, ",")) { | |
return false; | |
} | |
} | |
} else { | |
if (!animateSetup(element, namespace, expires)) { | |
return false; | |
} | |
} | |
} | |
if (!addElement(element, ",")) { | |
addElement(element, ";"); | |
} | |
return true; | |
}; | |
/** | |
* @param {number} allow | |
* @param {string} value | |
* @return {?} | |
*/ | |
var addElement = function(allow, value) { | |
return allow.be.Ne.value == value ? (allow.be.next(), true) : false; | |
}; | |
/** | |
* @param {number} event | |
* @param {RegExp} type | |
* @return {?} | |
*/ | |
var proceed = function(event, type) { | |
if (event.be.Ne.type != type) { | |
return event.Mf = "Expected token type: " + type, null; | |
} | |
var raw = event.be.Ne.value; | |
event.be.next(); | |
return raw; | |
}; | |
/** | |
* @param {number} element | |
* @param {string} now | |
* @return {?} | |
*/ | |
var $transition = function(element, now) { | |
return addElement(element, now) ? true : (element.Mf = 'Expected token "' + now + '"', false); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var ArgThat = function() { | |
_super.apply(this); | |
}; | |
__extends(ArgThat, _super); | |
self = ArgThat.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ig = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} target | |
* @return {undefined} | |
*/ | |
self.qi = function(target) { | |
origFindId(this, 1, target); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lt = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {undefined} | |
*/ | |
self.Sv = function(isXML) { | |
origFindId(this, 2, isXML); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {undefined} | |
*/ | |
self.Ov = function(isXML) { | |
origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ht = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @param {Object} isXML | |
* @return {undefined} | |
*/ | |
self.Pv = function(isXML) { | |
origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yt = function() { | |
return ondata(this, 4); | |
}; | |
isAncestor(ArgThat, { | |
0 : { | |
name : "PhoneNumber", | |
$ : "i18n.phonenumbers.PhoneNumber" | |
}, | |
1 : { | |
name : "country_code", | |
required : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "national_number", | |
required : true, | |
c : 4, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "extension", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "italian_leading_zero", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
8 : { | |
name : "number_of_leading_zeros", | |
c : 5, | |
defaultValue : 1, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "raw_input", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "country_code_source", | |
c : 14, | |
defaultValue : 1, | |
type : { | |
Ww : 1, | |
Vw : 5, | |
Uw : 10, | |
Tw : 20 | |
} | |
}, | |
7 : { | |
name : "preferred_domestic_carrier_code", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var str = function() { | |
_super.apply(this); | |
}; | |
__extends(str, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var ul = function() { | |
_super.apply(this); | |
}; | |
__extends(ul, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var TodosActiveView = function() { | |
_super.apply(this); | |
}; | |
__extends(TodosActiveView, _super); | |
self = TodosActiveView.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 9); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 9); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {undefined} | |
*/ | |
self.Ia = function(iterator) { | |
origFindId(this, 9, iterator); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Ab = function() { | |
isArray(this, 9); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ig = function() { | |
return get_mangled(this, 10); | |
}; | |
/** | |
* @param {?} target | |
* @return {undefined} | |
*/ | |
self.qi = function(target) { | |
origFindId(this, 10, target); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var stat = function() { | |
_super.apply(this); | |
}; | |
__extends(stat, _super); | |
isAncestor(str, { | |
0 : { | |
name : "NumberFormat", | |
$ : "i18n.phonenumbers.NumberFormat" | |
}, | |
1 : { | |
name : "pattern", | |
required : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "format", | |
required : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "leading_digits_pattern", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "national_prefix_formatting_rule", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "national_prefix_optional_when_formatting", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "domestic_carrier_code_formatting_rule", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(ul, { | |
0 : { | |
name : "PhoneNumberDesc", | |
$ : "i18n.phonenumbers.PhoneNumberDesc" | |
}, | |
2 : { | |
name : "national_number_pattern", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "possible_number_pattern", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "example_number", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(TodosActiveView, { | |
0 : { | |
name : "PhoneMetadata", | |
$ : "i18n.phonenumbers.PhoneMetadata" | |
}, | |
1 : { | |
name : "general_desc", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
2 : { | |
name : "fixed_line", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
3 : { | |
name : "mobile", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
4 : { | |
name : "toll_free", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
5 : { | |
name : "premium_rate", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
6 : { | |
name : "shared_cost", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
7 : { | |
name : "personal_number", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
8 : { | |
name : "voip", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
21 : { | |
name : "pager", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
25 : { | |
name : "uan", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
27 : { | |
name : "emergency", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
28 : { | |
name : "voicemail", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
24 : { | |
name : "no_international_dialling", | |
required : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ul | |
}, | |
9 : { | |
name : "id", | |
required : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "country_code", | |
required : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
11 : { | |
name : "international_prefix", | |
required : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
17 : { | |
name : "preferred_international_prefix", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "national_prefix", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
13 : { | |
name : "preferred_extn_prefix", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
15 : { | |
name : "national_prefix_for_parsing", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
16 : { | |
name : "national_prefix_transform_rule", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
18 : { | |
name : "same_mobile_and_fixed_line_pattern", | |
c : 8, | |
defaultValue : false, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
19 : { | |
name : "number_format", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : str | |
}, | |
20 : { | |
name : "intl_number_format", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : str | |
}, | |
22 : { | |
name : "main_country_for_code", | |
c : 8, | |
defaultValue : false, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
23 : { | |
name : "leading_digits", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
26 : { | |
name : "leading_zero_possible", | |
c : 8, | |
defaultValue : false, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(stat, { | |
0 : { | |
name : "PhoneMetadataCollection", | |
$ : "i18n.phonenumbers.PhoneMetadataCollection" | |
}, | |
1 : { | |
name : "metadata", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : TodosActiveView | |
} | |
}); | |
var script = { | |
countryToMetadata : [], | |
countryCodeToRegionCodeMap : [] | |
}; | |
append("i18n.phonenumbers.metadata", script); | |
/** | |
* @return {undefined} | |
*/ | |
var Camera = function() { | |
this.pv = {}; | |
}; | |
/** | |
* @return {?} | |
*/ | |
Camera.Dy = function() { | |
return Camera.ju ? Camera.ju : Camera.ju = new Camera; | |
}; | |
append("i18n.phonenumbers.loadFromServer", function() { | |
Request("GET", "/-/phonenumber-metadata/", null, function(id) { | |
makeModuleMap(id); | |
}); | |
}); | |
var r20 = { | |
0 : "0", | |
1 : "1", | |
2 : "2", | |
3 : "3", | |
4 : "4", | |
5 : "5", | |
6 : "6", | |
7 : "7", | |
8 : "8", | |
9 : "9", | |
"\uff10" : "0", | |
"\uff11" : "1", | |
"\uff12" : "2", | |
"\uff13" : "3", | |
"\uff14" : "4", | |
"\uff15" : "5", | |
"\uff16" : "6", | |
"\uff17" : "7", | |
"\uff18" : "8", | |
"\uff19" : "9", | |
"\u0660" : "0", | |
"\u0661" : "1", | |
"\u0662" : "2", | |
"\u0663" : "3", | |
"\u0664" : "4", | |
"\u0665" : "5", | |
"\u0666" : "6", | |
"\u0667" : "7", | |
"\u0668" : "8", | |
"\u0669" : "9", | |
"\u06f0" : "0", | |
"\u06f1" : "1", | |
"\u06f2" : "2", | |
"\u06f3" : "3", | |
"\u06f4" : "4", | |
"\u06f5" : "5", | |
"\u06f6" : "6", | |
"\u06f7" : "7", | |
"\u06f8" : "8", | |
"\u06f9" : "9" | |
}; | |
var rreturn = { | |
0 : "0", | |
1 : "1", | |
2 : "2", | |
3 : "3", | |
4 : "4", | |
5 : "5", | |
6 : "6", | |
7 : "7", | |
8 : "8", | |
9 : "9", | |
"\uff10" : "0", | |
"\uff11" : "1", | |
"\uff12" : "2", | |
"\uff13" : "3", | |
"\uff14" : "4", | |
"\uff15" : "5", | |
"\uff16" : "6", | |
"\uff17" : "7", | |
"\uff18" : "8", | |
"\uff19" : "9", | |
"\u0660" : "0", | |
"\u0661" : "1", | |
"\u0662" : "2", | |
"\u0663" : "3", | |
"\u0664" : "4", | |
"\u0665" : "5", | |
"\u0666" : "6", | |
"\u0667" : "7", | |
"\u0668" : "8", | |
"\u0669" : "9", | |
"\u06f0" : "0", | |
"\u06f1" : "1", | |
"\u06f2" : "2", | |
"\u06f3" : "3", | |
"\u06f4" : "4", | |
"\u06f5" : "5", | |
"\u06f6" : "6", | |
"\u06f7" : "7", | |
"\u06f8" : "8", | |
"\u06f9" : "9", | |
A : "2", | |
B : "2", | |
C : "2", | |
D : "3", | |
E : "3", | |
F : "3", | |
G : "4", | |
H : "4", | |
I : "4", | |
J : "5", | |
K : "5", | |
L : "5", | |
M : "6", | |
N : "6", | |
O : "6", | |
P : "7", | |
Q : "7", | |
R : "7", | |
S : "7", | |
T : "8", | |
U : "8", | |
V : "8", | |
W : "9", | |
X : "9", | |
Y : "9", | |
Z : "9" | |
}; | |
/** @type {RegExp} */ | |
var v = RegExp("^[+\uff0b]+"); | |
/** @type {RegExp} */ | |
var name = RegExp("([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])"); | |
/** @type {RegExp} */ | |
var regex = RegExp("[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]"); | |
/** @type {RegExp} */ | |
var term = /[\\\/] *x/; | |
/** @type {RegExp} */ | |
var cx = RegExp("[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$"); | |
/** @type {RegExp} */ | |
var ancestors = /(?:.*?[A-Za-z]){3}.*/; | |
/** @type {RegExp} */ | |
var optgroup = RegExp("(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$", "i"); | |
/** @type {RegExp} */ | |
var rx = RegExp("^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$", | |
"i"); | |
/** | |
* @param {string} text | |
* @return {?} | |
*/ | |
var removeComments = function(text) { | |
var index = text.search(regex); | |
if (0 <= index) { | |
text = text.substring(index); | |
text = text.replace(cx, ""); | |
index = text.search(term); | |
if (0 <= index) { | |
text = text.substring(0, index); | |
} | |
} else { | |
/** @type {string} */ | |
text = ""; | |
} | |
return text; | |
}; | |
/** | |
* @param {Object} func | |
* @return {undefined} | |
*/ | |
var _load = function(func) { | |
var pdataCur = last(ancestors, func.toString()) ? getParam(func.toString(), rreturn) : getParam(func.toString(), r20); | |
func.clear(); | |
func.append(pdataCur); | |
}; | |
/** | |
* @param {string} name | |
* @param {?} regex | |
* @return {?} | |
*/ | |
var getParam = function(name, regex) { | |
var c = new Color; | |
var k; | |
var valuesLen = name.length; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < valuesLen;++i) { | |
k = name.charAt(i); | |
k = regex[k.toUpperCase()]; | |
if (null != k) { | |
c.append(k); | |
} | |
} | |
return c.toString(); | |
}; | |
/** | |
* @param {?} i | |
* @return {?} | |
*/ | |
var pad = function(i) { | |
var num = "" + i.Lt(); | |
return i.Yt() && i.Ht() ? Array(get_mangled(i, 8) + 1).join("0") + num : num; | |
}; | |
/** | |
* @param {string} obj | |
* @param {?} fn | |
* @return {?} | |
*/ | |
var rename = function(obj, fn) { | |
var name = func(fn, 1); | |
return ondata(name, 2) && label(obj, name) ? label(obj, func(fn, 5)) ? 4 : label(obj, func(fn, 4)) ? 3 : label(obj, func(fn, 6)) ? 5 : label(obj, func(fn, 8)) ? 6 : label(obj, func(fn, 7)) ? 7 : label(obj, func(fn, 21)) ? 8 : label(obj, func(fn, 25)) ? 9 : label(obj, func(fn, 28)) ? 10 : label(obj, func(fn, 2)) ? func(fn, 18) || label(obj, func(fn, 3)) ? 2 : 0 : !func(fn, 18) && label(obj, func(fn, 3)) ? 1 : -1 : -1; | |
}; | |
/** | |
* @param {string} item | |
* @param {string} name | |
* @return {?} | |
*/ | |
var getName = function(item, name) { | |
if (null == name) { | |
return null; | |
} | |
name = name.toUpperCase(); | |
var klass = item.pv[name]; | |
if (null == klass) { | |
klass = script.countryToMetadata[name]; | |
if (null == klass) { | |
return null; | |
} | |
klass = (new Slice).Oi(TodosActiveView.oc(), klass); | |
item.pv[name] = klass; | |
} | |
return klass; | |
}; | |
/** | |
* @param {string} o | |
* @param {?} name | |
* @return {?} | |
*/ | |
var label = function(o, name) { | |
return last(get_mangled(name, 3), o) && last(get_mangled(name, 2), o); | |
}; | |
/** | |
* @param {Object} options | |
* @param {string} text | |
* @param {Object} t | |
* @param {?} position | |
* @return {?} | |
*/ | |
var endsWith = function(options, text, t, position) { | |
if (0 == options.length) { | |
return 0; | |
} | |
options = new Color(options); | |
var value; | |
if (null != text) { | |
value = func(text, 11); | |
} | |
if (null == value) { | |
/** @type {string} */ | |
value = "NonMatch"; | |
} | |
var optgroup = options.toString(); | |
if (0 == optgroup.length) { | |
/** @type {number} */ | |
value = 20; | |
} else { | |
if (v.test(optgroup)) { | |
optgroup = optgroup.replace(v, ""); | |
options.clear(); | |
options.append(last(ancestors, optgroup) ? getParam(optgroup, rreturn) : getParam(optgroup, r20)); | |
/** @type {number} */ | |
value = 1; | |
} else { | |
/** @type {RegExp} */ | |
optgroup = RegExp(value); | |
_load(options); | |
value = options.toString(); | |
if (0 == value.search(optgroup)) { | |
optgroup = value.match(optgroup)[0].length; | |
var input = value.substring(optgroup).match(name); | |
if (input && (null != input[1] && (0 < input[1].length && "0" == getParam(input[1], r20)))) { | |
/** @type {boolean} */ | |
value = false; | |
} else { | |
options.clear(); | |
options.append(value.substring(optgroup)); | |
/** @type {boolean} */ | |
value = true; | |
} | |
} else { | |
/** @type {boolean} */ | |
value = false; | |
} | |
/** @type {number} */ | |
value = value ? 5 : 20; | |
} | |
} | |
if (20 != value) { | |
if (2 >= options.Kc.length) { | |
throw "Phone number too short after IDD"; | |
} | |
a: { | |
options = options.toString(); | |
if (0 != options.length && "0" != options.charAt(0)) { | |
value = options.length; | |
/** @type {number} */ | |
optgroup = 1; | |
for (;3 >= optgroup && optgroup <= value;++optgroup) { | |
if (text = parseInt(options.substring(0, optgroup), 10), text in script.countryCodeToRegionCodeMap) { | |
t.append(options.substring(optgroup)); | |
/** @type {string} */ | |
t = text; | |
break a; | |
} | |
} | |
} | |
/** @type {number} */ | |
t = 0; | |
} | |
if (0 != t) { | |
return position.qi(t), t; | |
} | |
throw "Invalid country calling code"; | |
} | |
if (null != text && (value = text.Ig(), optgroup = "" + value, input = options.toString(), 0 == input.lastIndexOf(optgroup, 0))) { | |
var c = new Color(input.substring(optgroup.length)); | |
input = func(text, 1); | |
/** @type {RegExp} */ | |
optgroup = RegExp(get_mangled(input, 2)); | |
parseColor(c, text, null); | |
text = c.toString(); | |
input = get_mangled(input, 3); | |
if (!last(optgroup, options.toString()) && last(optgroup, text) || 3 == (last(input, options.toString()) ? 0 : 0 == options.toString().search(input) ? 3 : 2)) { | |
return t.append(text), position.qi(value), value; | |
} | |
} | |
position.qi(0); | |
return 0; | |
}; | |
/** | |
* @param {Object} color | |
* @param {string} value | |
* @param {Object} g | |
* @return {undefined} | |
*/ | |
var parseColor = function(color, value, g) { | |
var string = color.toString(); | |
var n = string.length; | |
var re = func(value, 15); | |
if (0 != n && (null != re && (0 != re.length && (re = RegExp("^(?:" + re + ")"), n = re.exec(string))))) { | |
/** @type {function (new:RegExp, *=, *=): RegExp} */ | |
var item = RegExp; | |
var name; | |
name = func(value, 1); | |
name = get_mangled(name, 2); | |
/** @type {RegExp} */ | |
item = item(name); | |
name = last(item, string); | |
/** @type {number} */ | |
var childKey = n.length - 1; | |
value = func(value, 16); | |
if (null == value || (0 == value.length || (null == n[childKey] || 0 == n[childKey].length))) { | |
if (!name || last(item, string.substring(n[0].length))) { | |
if (null != g) { | |
if (0 < childKey) { | |
if (null != n[childKey]) { | |
g.append(n[1]); | |
} | |
} | |
} | |
color.set(string.substring(n[0].length)); | |
} | |
} else { | |
if (string = string.replace(re, value), !name || last(item, string)) { | |
if (null != g) { | |
if (0 < childKey) { | |
g.append(n[1]); | |
} | |
} | |
color.set(string); | |
} | |
} | |
} | |
}; | |
/** | |
* @param {string} s | |
* @param {string} string | |
* @return {?} | |
*/ | |
Camera.prototype.parse = function(s, string) { | |
if (null == s) { | |
throw "The string supplied did not seem to be a phone number"; | |
} | |
if (250 < s.length) { | |
throw "The string supplied is too long to be a phone number"; | |
} | |
var c = new Color; | |
var j = s.indexOf(";phone-context="); | |
if (0 < j) { | |
var n = j + 15; | |
if ("+" == s.charAt(n)) { | |
var name = s.indexOf(";", n); | |
if (0 < name) { | |
c.append(s.substring(n, name)); | |
} else { | |
c.append(s.substring(n)); | |
} | |
} | |
c.append(s.substring(s.indexOf("tel:") + 4, j)); | |
} else { | |
c.append(removeComments(s)); | |
} | |
j = c.toString(); | |
n = j.indexOf(";isub="); | |
if (0 < n) { | |
c.clear(); | |
c.append(j.substring(0, n)); | |
} | |
if (2 > c.toString().length || !last(rx, c.toString())) { | |
throw "The string supplied did not seem to be a phone number"; | |
} | |
if (!(null != string && (isNaN(string) && string.toUpperCase() in script.countryToMetadata) || null != c.toString() && (0 < c.toString().length && v.test(c.toString())))) { | |
throw "Invalid country calling code"; | |
} | |
j = new ArgThat; | |
a: { | |
n = c.toString(); | |
name = n.search(optgroup); | |
if (0 <= name && (2 > n.substring(0, name).length ? 0 : last(rx, n.substring(0, name)))) { | |
var i = n.match(optgroup); | |
var x = i.length; | |
/** @type {number} */ | |
var key = 1; | |
for (;key < x;++key) { | |
if (null != i[key] && 0 < i[key].length) { | |
c.clear(); | |
c.append(n.substring(0, name)); | |
n = i[key]; | |
break a; | |
} | |
} | |
} | |
/** @type {string} */ | |
n = ""; | |
} | |
if (0 < n.length) { | |
j.Ov(n); | |
} | |
name = getName(this, string); | |
n = new Color; | |
/** @type {number} */ | |
i = 0; | |
x = c.toString(); | |
try { | |
i = endsWith(x, name, n, j); | |
} catch (m) { | |
if ("Invalid country calling code" == m && v.test(x)) { | |
if (x = x.replace(v, ""), i = endsWith(x, name, n, j), 0 == i) { | |
throw m; | |
} | |
} else { | |
throw m; | |
} | |
} | |
if (0 != i) { | |
c = script.countryCodeToRegionCodeMap[i]; | |
c = null == c ? "ZZ" : c[0]; | |
if (c != string) { | |
name = "001" == c ? getName(this, "" + i) : getName(this, c); | |
} | |
} else { | |
_load(c); | |
n.append(c.toString()); | |
if (null != string) { | |
i = name.Ig(); | |
j.qi(i); | |
} | |
} | |
if (2 > n.Kc.length) { | |
throw "The string supplied is too short to be a phone number"; | |
} | |
if (null != name) { | |
i = new Color; | |
c = new Color(n.toString()); | |
parseColor(c, name, i); | |
i = c.toString(); | |
name = func(name, 1); | |
name = get_mangled(name, 3); | |
if (!(2 == (last(name, i) ? 0 : 0 == i.search(name) ? 3 : 2))) { | |
n = c; | |
} | |
} | |
c = n.toString(); | |
n = c.length; | |
if (2 > n) { | |
throw "The string supplied is too short to be a phone number"; | |
} | |
if (17 < n) { | |
throw "The string supplied is too long to be a phone number"; | |
} | |
if (1 < c.length && "0" == c.charAt(0)) { | |
j.Pv(true); | |
/** @type {number} */ | |
n = 1; | |
for (;n < c.length - 1 && "0" == c.charAt(n);) { | |
n++; | |
} | |
if (1 != n) { | |
origFindId(j, 8, n); | |
} | |
} | |
j.Sv(parseInt(c, 10)); | |
return j; | |
}; | |
/** | |
* @param {?} optgroup | |
* @param {string} name | |
* @return {?} | |
*/ | |
var last = function(optgroup, name) { | |
var codeSegments = "string" == typeof optgroup ? name.match("^(?:" + optgroup + ")$") : name.match(optgroup); | |
return codeSegments && codeSegments[0].length == name.length ? true : false; | |
}; | |
/** @type {boolean} */ | |
window.PR_SHOULD_USE_CONTINUATION = true; | |
var setContainer; | |
var prettyPrint; | |
(function() { | |
/** | |
* @param {Array} regexs | |
* @return {?} | |
*/ | |
function combinePrefixPatterns(regexs) { | |
/** | |
* @param {string} charsetPart | |
* @return {?} | |
*/ | |
function decodeEscape(charsetPart) { | |
var cc0 = charsetPart.charCodeAt(0); | |
if (92 !== cc0) { | |
return cc0; | |
} | |
var y = charsetPart.charAt(1); | |
return(cc0 = escapeCharToCodeUnit[y]) ? cc0 : "0" <= y && "7" >= y ? parseInt(charsetPart.substring(1), 8) : "u" === y || "x" === y ? parseInt(charsetPart.substring(2), 16) : charsetPart.charCodeAt(1); | |
} | |
/** | |
* @param {string} code | |
* @return {?} | |
*/ | |
function encodeEscape(code) { | |
if (32 > code) { | |
return(16 > code ? "\\x0" : "\\x") + code.toString(16); | |
} | |
/** @type {string} */ | |
code = String.fromCharCode(code); | |
return "\\" === code || ("-" === code || ("]" === code || "^" === code)) ? "\\" + code : code; | |
} | |
/** | |
* @param {Array} a | |
* @return {?} | |
*/ | |
function caseFoldCharset(a) { | |
var pages = a.substring(1, a.length - 1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]", "g")); | |
/** @type {Array} */ | |
a = []; | |
/** @type {boolean} */ | |
var i = "^" === pages[0]; | |
/** @type {Array} */ | |
var out = ["["]; | |
if (i) { | |
out.push("^"); | |
} | |
/** @type {number} */ | |
i = i ? 1 : 0; | |
var j = pages.length; | |
for (;i < j;++i) { | |
var p = pages[i]; | |
if (/\\[bdsw]/i.test(p)) { | |
out.push(p); | |
} else { | |
p = decodeEscape(p); | |
var g; | |
if (i + 2 < j && "-" === pages[i + 1]) { | |
g = decodeEscape(pages[i + 2]); | |
i += 2; | |
} else { | |
g = p; | |
} | |
a.push([p, g]); | |
if (!(65 > g)) { | |
if (!(122 < p)) { | |
if (!(65 > g)) { | |
if (!(90 < p)) { | |
a.push([Math.max(65, p) | 32, Math.min(g, 90) | 32]); | |
} | |
} | |
if (!(97 > g)) { | |
if (!(122 < p)) { | |
a.push([Math.max(97, p) & -33, Math.min(g, 122) & -33]); | |
} | |
} | |
} | |
} | |
} | |
} | |
a.sort(function(vecA, vecB) { | |
return vecA[0] - vecB[0] || vecB[1] - vecA[1]; | |
}); | |
/** @type {Array} */ | |
pages = []; | |
/** @type {Array} */ | |
j = []; | |
/** @type {number} */ | |
i = 0; | |
for (;i < a.length;++i) { | |
p = a[i]; | |
if (p[0] <= j[1] + 1) { | |
/** @type {number} */ | |
j[1] = Math.max(j[1], p[1]); | |
} else { | |
pages.push(j = p); | |
} | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < pages.length;++i) { | |
p = pages[i]; | |
out.push(encodeEscape(p[0])); | |
if (p[1] > p[0]) { | |
if (p[1] + 1 > p[0]) { | |
out.push("-"); | |
} | |
out.push(encodeEscape(p[1])); | |
} | |
} | |
out.push("]"); | |
return out.join(""); | |
} | |
/** | |
* @param {Object} regex | |
* @return {?} | |
*/ | |
function allowAnywhereFoldCaseAndRenumberGroups(regex) { | |
var parts = regex.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)", "g")); | |
var l = parts.length; | |
/** @type {Array} */ | |
var codeSegments = []; | |
/** @type {number} */ | |
var i = 0; | |
/** @type {number} */ | |
var last = 0; | |
for (;i < l;++i) { | |
var p = parts[i]; | |
if ("(" === p) { | |
++last; | |
} else { | |
if ("\\" === p.charAt(0)) { | |
if (p = +p.substring(1)) { | |
if (p <= last) { | |
/** @type {number} */ | |
codeSegments[p] = -1; | |
} else { | |
parts[i] = encodeEscape(p); | |
} | |
} | |
} | |
} | |
} | |
/** @type {number} */ | |
i = 1; | |
for (;i < codeSegments.length;++i) { | |
if (-1 === codeSegments[i]) { | |
/** @type {number} */ | |
codeSegments[i] = ++capturedGroupIndex; | |
} | |
} | |
/** @type {number} */ | |
last = i = 0; | |
for (;i < l;++i) { | |
p = parts[i]; | |
if ("(" === p) { | |
++last; | |
if (!codeSegments[last]) { | |
/** @type {string} */ | |
parts[i] = "(?:"; | |
} | |
} else { | |
if ("\\" === p.charAt(0)) { | |
if (p = +p.substring(1)) { | |
if (p <= last) { | |
parts[i] = "\\" + codeSegments[p]; | |
} | |
} | |
} | |
} | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < l;++i) { | |
if ("^" === parts[i]) { | |
if ("^" !== parts[i + 1]) { | |
/** @type {string} */ | |
parts[i] = ""; | |
} | |
} | |
} | |
if (regex.ignoreCase && needToFoldCase) { | |
/** @type {number} */ | |
i = 0; | |
for (;i < l;++i) { | |
p = parts[i]; | |
regex = p.charAt(0); | |
if (2 <= p.length && "[" === regex) { | |
parts[i] = caseFoldCharset(p); | |
} else { | |
if ("\\" !== regex) { | |
parts[i] = p.replace(/[a-zA-Z]/g, function(a) { | |
a = a.charCodeAt(0); | |
return "[" + String.fromCharCode(a & -33, a | 32) + "]"; | |
}); | |
} | |
} | |
} | |
} | |
return parts.join(""); | |
} | |
/** @type {number} */ | |
var capturedGroupIndex = 0; | |
/** @type {boolean} */ | |
var needToFoldCase = false; | |
/** @type {boolean} */ | |
var l = false; | |
/** @type {number} */ | |
var i = 0; | |
var n = regexs.length; | |
for (;i < n;++i) { | |
var regex = regexs[i]; | |
if (regex.ignoreCase) { | |
/** @type {boolean} */ | |
l = true; | |
} else { | |
if (/[a-z]/i.test(regex.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ""))) { | |
/** @type {boolean} */ | |
needToFoldCase = true; | |
/** @type {boolean} */ | |
l = false; | |
break; | |
} | |
} | |
} | |
var escapeCharToCodeUnit = { | |
b : 8, | |
t : 9, | |
n : 10, | |
v : 11, | |
f : 12, | |
r : 13 | |
}; | |
/** @type {Array} */ | |
var tagNameArr = []; | |
/** @type {number} */ | |
i = 0; | |
n = regexs.length; | |
for (;i < n;++i) { | |
regex = regexs[i]; | |
if (regex.global || regex.multiline) { | |
throw Error("" + regex); | |
} | |
tagNameArr.push("(?:" + allowAnywhereFoldCaseAndRenumberGroups(regex) + ")"); | |
} | |
return RegExp(tagNameArr.join("|"), l ? "gi" : "g"); | |
} | |
/** | |
* @param {Node} expr | |
* @param {number} height | |
* @return {?} | |
*/ | |
function create(expr, height) { | |
/** | |
* @param {Node} node | |
* @return {undefined} | |
*/ | |
function walk(node) { | |
var val = node.nodeType; | |
if (1 == val) { | |
if (!nocode.test(node.className)) { | |
val = node.firstChild; | |
for (;val;val = val.nextSibling) { | |
walk(val); | |
} | |
val = node.nodeName.toLowerCase(); | |
if ("br" === val || "li" === val) { | |
/** @type {string} */ | |
curr[k] = "\n"; | |
/** @type {number} */ | |
spans[k << 1] = length++; | |
/** @type {Node} */ | |
spans[k++ << 1 | 1] = node; | |
} | |
} | |
} else { | |
if (3 == val || 4 == val) { | |
val = node.nodeValue; | |
if (val.length) { | |
val = height ? val.replace(/\r\n?/g, "\n") : val.replace(/[ \t\r\n]+/g, " "); | |
curr[k] = val; | |
spans[k << 1] = length; | |
length += val.length; | |
/** @type {Node} */ | |
spans[k++ << 1 | 1] = node; | |
} | |
} | |
} | |
} | |
/** @type {RegExp} */ | |
var nocode = /(?:^|\s)nocode(?:\s|$)/; | |
/** @type {Array} */ | |
var curr = []; | |
/** @type {number} */ | |
var length = 0; | |
/** @type {Array} */ | |
var spans = []; | |
/** @type {number} */ | |
var k = 0; | |
walk(expr); | |
return{ | |
Jl : curr.join("").replace(/\n$/, ""), | |
Jr : spans | |
}; | |
} | |
/** | |
* @param {number} job | |
* @param {number} sourceCode | |
* @param {Function} langHandler | |
* @param {Array} out | |
* @return {undefined} | |
*/ | |
function appendDecorations(job, sourceCode, langHandler, out) { | |
if (sourceCode) { | |
job = { | |
Jl : sourceCode, | |
Ks : job | |
}; | |
langHandler(job); | |
out.push.apply(out, job.kt); | |
} | |
} | |
/** | |
* @param {number} source | |
* @return {?} | |
*/ | |
function walk(source) { | |
var value = void 0; | |
var n = source.firstChild; | |
for (;n;n = n.nextSibling) { | |
var a = n.nodeType; | |
value = 1 === a ? value ? source : n : 3 === a ? ns.test(n.nodeValue) ? source : value : value; | |
} | |
return value === source ? void 0 : value; | |
} | |
/** | |
* @param {Array} shortcutStylePatterns | |
* @param {?} a | |
* @return {?} | |
*/ | |
function createSimpleLexer(shortcutStylePatterns, a) { | |
/** | |
* @param {?} job | |
* @return {undefined} | |
*/ | |
function decorate(job) { | |
var basePos = job.Ks; | |
/** @type {Array} */ | |
var decorations = [basePos, "pln"]; | |
/** @type {number} */ | |
var position = 0; | |
var codeSegments = job.Jl.match(optgroup) || []; | |
var flags = {}; | |
/** @type {number} */ | |
var i = 0; | |
var valuesLen = codeSegments.length; | |
for (;i < valuesLen;++i) { | |
var key = codeSegments[i]; | |
var value = flags[key]; | |
var msg = void 0; | |
var embeddedSource; | |
if ("string" === typeof value) { | |
/** @type {boolean} */ | |
embeddedSource = false; | |
} else { | |
var tokenStart = stack[key.charAt(0)]; | |
if (tokenStart) { | |
msg = key.match(tokenStart[1]); | |
value = tokenStart[0]; | |
} else { | |
/** @type {number} */ | |
embeddedSource = 0; | |
for (;embeddedSource < al;++embeddedSource) { | |
if (tokenStart = a[embeddedSource], msg = key.match(tokenStart[1])) { | |
value = tokenStart[0]; | |
break; | |
} | |
} | |
if (!msg) { | |
/** @type {string} */ | |
value = "pln"; | |
} | |
} | |
if (!!(embeddedSource = 5 <= value.length && "lang-" === value.substring(0, 5))) { | |
if (!(msg && "string" === typeof msg[1])) { | |
/** @type {boolean} */ | |
embeddedSource = false; | |
/** @type {string} */ | |
value = "src"; | |
} | |
} | |
if (!embeddedSource) { | |
flags[key] = value; | |
} | |
} | |
tokenStart = position; | |
position += key.length; | |
if (embeddedSource) { | |
embeddedSource = msg[1]; | |
var embeddedSourceStart = key.indexOf(embeddedSource); | |
var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length; | |
if (msg[2]) { | |
/** @type {number} */ | |
embeddedSourceEnd = key.length - msg[2].length; | |
/** @type {number} */ | |
embeddedSourceStart = embeddedSourceEnd - embeddedSource.length; | |
} | |
value = value.substring(5); | |
appendDecorations(basePos + tokenStart, key.substring(0, embeddedSourceStart), decorate, decorations); | |
appendDecorations(basePos + tokenStart + embeddedSourceStart, embeddedSource, langHandlerForExtension(value, embeddedSource), decorations); | |
appendDecorations(basePos + tokenStart + embeddedSourceEnd, key.substring(embeddedSourceEnd), decorate, decorations); | |
} else { | |
decorations.push(basePos + tokenStart, value); | |
} | |
} | |
/** @type {Array} */ | |
job.kt = decorations; | |
} | |
var stack = {}; | |
var optgroup; | |
(function() { | |
var ka = shortcutStylePatterns.concat(a); | |
/** @type {Array} */ | |
var allRegexs = []; | |
var opt_tagWhitelist = {}; | |
/** @type {number} */ | |
var i = 0; | |
var valuesLen = ka.length; | |
for (;i < valuesLen;++i) { | |
var regex = ka[i]; | |
var tagName = regex[3]; | |
if (tagName) { | |
var spaces = tagName.length; | |
for (;0 <= --spaces;) { | |
stack[tagName.charAt(spaces)] = regex; | |
} | |
} | |
regex = regex[1]; | |
/** @type {string} */ | |
tagName = "" + regex; | |
if (!opt_tagWhitelist.hasOwnProperty(tagName)) { | |
allRegexs.push(regex); | |
/** @type {null} */ | |
opt_tagWhitelist[tagName] = null; | |
} | |
} | |
allRegexs.push(/[\0-\uffff]/); | |
optgroup = combinePrefixPatterns(allRegexs); | |
})(); | |
var al = a.length; | |
return decorate; | |
} | |
/** | |
* @param {Object} opt_attributes | |
* @return {?} | |
*/ | |
function u(opt_attributes) { | |
/** @type {Array} */ | |
var shortcutStylePatterns = []; | |
/** @type {Array} */ | |
var e = []; | |
if (opt_attributes.tripleQuotedStrings) { | |
shortcutStylePatterns.push(["str", /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, null, "'\""]); | |
} else { | |
if (opt_attributes.multiLineStrings) { | |
shortcutStylePatterns.push(["str", /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, null, "'\"`"]); | |
} else { | |
shortcutStylePatterns.push(["str", /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, null, "\"'"]); | |
} | |
} | |
if (opt_attributes.verbatimStrings) { | |
e.push(["str", /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]); | |
} | |
var value = opt_attributes.hashComments; | |
if (value) { | |
if (opt_attributes.cStyleComments) { | |
if (1 < value) { | |
shortcutStylePatterns.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, "#"]); | |
} else { | |
shortcutStylePatterns.push(["com", /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/, null, "#"]); | |
} | |
e.push(["str", /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/, null]); | |
} else { | |
shortcutStylePatterns.push(["com", /^#[^\r\n]*/, null, "#"]); | |
} | |
} | |
if (opt_attributes.cStyleComments) { | |
e.push(["com", /^\/\/[^\r\n]*/, null]); | |
e.push(["com", /^\/\*[\s\S]*?(?:\*\/|$)/, null]); | |
} | |
if (value = opt_attributes.regexLiterals) { | |
/** @type {string} */ | |
var f = (value = 1 < value ? "" : "\n\r") ? "." : "[\\S\\s]"; | |
e.push(["lang-regex", RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(" + ("/(?=[^/*" + value + "])(?:[^/\\x5B\\x5C" + value + "]|\\x5C" + f + "|\\x5B(?:[^\\x5C\\x5D" + value + "]|\\x5C" + f + ")*(?:\\x5D|$))+/") + ")")]); | |
} | |
if (value = opt_attributes.types) { | |
e.push(["typ", value]); | |
} | |
/** @type {string} */ | |
value = ("" + opt_attributes.keywords).replace(/^ | $/g, ""); | |
if (value.length) { | |
e.push(["kwd", RegExp("^(?:" + value.replace(/[\s,]+/g, "|") + ")\\b"), null]); | |
} | |
shortcutStylePatterns.push(["pln", /^\s+/, null, " \r\n\t\u00a0"]); | |
/** @type {string} */ | |
value = "^.[^\\s\\w.$@'\"`/\\\\]*"; | |
if (opt_attributes.regexLiterals) { | |
value += "(?!s*/)"; | |
} | |
e.push(["lit", /^@[a-z_$][a-z_$@0-9]*/i, null], ["typ", /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], ["pln", /^[a-z_$][a-z_$@0-9]*/i, null], ["lit", /^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i, null, "0123456789"], ["pln", /^\\[\s\S]?/, null], ["pun", RegExp(value), null]); | |
return createSimpleLexer(shortcutStylePatterns, e); | |
} | |
/** | |
* @param {Node} node | |
* @param {number} d | |
* @param {boolean} dataAndEvents | |
* @return {undefined} | |
*/ | |
function numberLines(node, d, dataAndEvents) { | |
/** | |
* @param {Object} node | |
* @return {undefined} | |
*/ | |
function walk(node) { | |
var type = node.nodeType; | |
if (1 == type && !nocode.test(node.className)) { | |
if ("br" === node.nodeName) { | |
breakAfter(node); | |
if (node.parentNode) { | |
node.parentNode.removeChild(node); | |
} | |
} else { | |
node = node.firstChild; | |
for (;node;node = node.nextSibling) { | |
walk(node); | |
} | |
} | |
} else { | |
if ((3 == type || 4 == type) && dataAndEvents) { | |
var text = node.nodeValue; | |
var match = text.match(optgroup); | |
if (match) { | |
type = text.substring(0, match.index); | |
node.nodeValue = type; | |
if (text = text.substring(match.index + match[0].length)) { | |
node.parentNode.insertBefore(doc.createTextNode(text), node.nextSibling); | |
} | |
breakAfter(node); | |
if (!type) { | |
node.parentNode.removeChild(node); | |
} | |
} | |
} | |
} | |
} | |
/** | |
* @param {Object} lineEndNode | |
* @return {undefined} | |
*/ | |
function breakAfter(lineEndNode) { | |
/** | |
* @param {Object} limit | |
* @param {number} copy | |
* @return {?} | |
*/ | |
function breakLeftOf(limit, copy) { | |
var rightSide = copy ? limit.cloneNode(false) : limit; | |
var parent = limit.parentNode; | |
if (parent) { | |
parent = breakLeftOf(parent, 1); | |
var next = limit.nextSibling; | |
parent.appendChild(rightSide); | |
var child = next; | |
for (;child;child = next) { | |
next = child.nextSibling; | |
parent.appendChild(child); | |
} | |
} | |
return rightSide; | |
} | |
for (;!lineEndNode.nextSibling;) { | |
if (lineEndNode = lineEndNode.parentNode, !lineEndNode) { | |
return; | |
} | |
} | |
lineEndNode = breakLeftOf(lineEndNode.nextSibling, 0); | |
var tapElement; | |
for (;(tapElement = lineEndNode.parentNode) && 1 === tapElement.nodeType;) { | |
lineEndNode = tapElement; | |
} | |
listItems.push(lineEndNode); | |
} | |
/** @type {RegExp} */ | |
var nocode = /(?:^|\s)nocode(?:\s|$)/; | |
/** @type {RegExp} */ | |
var optgroup = /\r\n?|\n/; | |
var doc = node.ownerDocument; | |
var li = doc.createElement("li"); | |
for (;node.firstChild;) { | |
li.appendChild(node.firstChild); | |
} | |
/** @type {Array} */ | |
var listItems = [li]; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < listItems.length;++i) { | |
walk(listItems[i]); | |
} | |
if (d === (d | 0)) { | |
listItems[0].setAttribute("value", d); | |
} | |
var ol = doc.createElement("ol"); | |
/** @type {string} */ | |
ol.className = "linenums"; | |
/** @type {number} */ | |
d = Math.max(0, d - 1 | 0) || 0; | |
/** @type {number} */ | |
i = 0; | |
/** @type {number} */ | |
var n = listItems.length; | |
for (;i < n;++i) { | |
li = listItems[i]; | |
/** @type {string} */ | |
li.className = "L" + (i + d) % 10; | |
if (!li.firstChild) { | |
li.appendChild(doc.createTextNode("\u00a0")); | |
} | |
ol.appendChild(li); | |
} | |
node.appendChild(ol); | |
} | |
/** | |
* @param {?} handler | |
* @param {Array} fileExtensions | |
* @return {undefined} | |
*/ | |
function registerLangHandler(handler, fileExtensions) { | |
var i = fileExtensions.length; | |
for (;0 <= --i;) { | |
var ext = fileExtensions[i]; | |
if (langHandlerRegistry.hasOwnProperty(ext)) { | |
if (w.console) { | |
console.warn("cannot override language handler %s", ext); | |
} | |
} else { | |
langHandlerRegistry[ext] = handler; | |
} | |
} | |
} | |
/** | |
* @param {string} extension | |
* @param {?} source | |
* @return {?} | |
*/ | |
function langHandlerForExtension(extension, source) { | |
if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) { | |
/** @type {string} */ | |
extension = /^\s*</.test(source) ? "default-markup" : "default-code"; | |
} | |
return langHandlerRegistry[extension]; | |
} | |
/** | |
* @param {?} data | |
* @return {undefined} | |
*/ | |
function createElement(data) { | |
var re = data.sq; | |
try { | |
var current = create(data.Rn, data.Uq); | |
var index = current.Jl; | |
data.Jl = index; | |
data.Jr = current.Jr; | |
/** @type {number} */ | |
data.Ks = 0; | |
langHandlerForExtension(re, index)(data); | |
/** @type {(Array.<string>|null)} */ | |
var skipStatic = /\bMSIE\s(\d+)/.exec(navigator.userAgent); | |
/** @type {(boolean|null)} */ | |
skipStatic = skipStatic && 8 >= +skipStatic[1]; | |
/** @type {RegExp} */ | |
re = /\n/g; | |
var b = data.Jl; | |
var v = b.length; | |
/** @type {number} */ | |
current = 0; | |
var input = data.Jr; | |
var inputLength = input.length; | |
/** @type {number} */ | |
index = 0; | |
var a = data.kt; | |
var h = a.length; | |
/** @type {number} */ | |
var JSVAL_INT_MAX = 0; | |
a[h] = v; | |
var e; | |
var j; | |
/** @type {number} */ | |
j = e = 0; | |
for (;j < h;) { | |
if (a[j] !== a[j + 2]) { | |
a[e++] = a[j++]; | |
a[e++] = a[j++]; | |
} else { | |
j += 2; | |
} | |
} | |
/** @type {number} */ | |
h = e; | |
/** @type {number} */ | |
j = e = 0; | |
for (;j < h;) { | |
var z = a[j]; | |
var a12 = a[j + 1]; | |
/** @type {number} */ | |
var i = j + 2; | |
for (;i + 2 <= h && a[i + 1] === a12;) { | |
i += 2; | |
} | |
a[e++] = z; | |
a[e++] = a12; | |
/** @type {number} */ | |
j = i; | |
} | |
/** @type {number} */ | |
a.length = e; | |
var popover = data.Rn; | |
var oldDisplay; | |
if (popover) { | |
oldDisplay = popover.style.display; | |
/** @type {string} */ | |
popover.style.display = "none"; | |
} | |
try { | |
for (;index < inputLength;) { | |
var end = input[index + 2] || v; | |
var olen = a[JSVAL_INT_MAX + 2] || v; | |
/** @type {number} */ | |
i = Math.min(end, olen); | |
var elem = input[index + 1]; | |
var val; | |
if (1 !== elem.nodeType && (val = b.substring(current, i))) { | |
if (skipStatic) { | |
val = val.replace(re, "\r"); | |
} | |
elem.nodeValue = val; | |
var d = elem.ownerDocument; | |
var element = d.createElement("span"); | |
element.className = a[JSVAL_INT_MAX + 1]; | |
var parent = elem.parentNode; | |
parent.replaceChild(element, elem); | |
element.appendChild(elem); | |
if (current < end) { | |
input[index + 1] = elem = d.createTextNode(b.substring(i, end)); | |
parent.insertBefore(elem, element.nextSibling); | |
} | |
} | |
/** @type {number} */ | |
current = i; | |
if (current >= end) { | |
index += 2; | |
} | |
if (current >= olen) { | |
JSVAL_INT_MAX += 2; | |
} | |
} | |
} finally { | |
if (popover) { | |
popover.style.display = oldDisplay; | |
} | |
} | |
} catch (err) { | |
if (w.console) { | |
console.log(err && err.stack || err); | |
} | |
} | |
} | |
/** @type {Window} */ | |
var w = window; | |
/** @type {Array} */ | |
var CPP_KEYWORDS = ["break,continue,do,else,for,if,return,while"]; | |
/** @type {Array} */ | |
var FLOW_CONTROL_KEYWORDS = [[CPP_KEYWORDS, "auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"]; | |
/** @type {Array} */ | |
var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"]; | |
/** @type {Array} */ | |
var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"]; | |
/** @type {Array} */ | |
var H = [RUBY_KEYWORDS, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"]; | |
/** @type {Array} */ | |
FLOW_CONTROL_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"]; | |
/** @type {Array} */ | |
var J = [CPP_KEYWORDS, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"]; | |
/** @type {Array} */ | |
var KEYWORDS = [CPP_KEYWORDS, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"]; | |
/** @type {Array} */ | |
var ALL_KEYWORDS = [CPP_KEYWORDS, "as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"]; | |
/** @type {Array} */ | |
CPP_KEYWORDS = [CPP_KEYWORDS, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"]; | |
/** @type {RegExp} */ | |
var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/; | |
/** @type {RegExp} */ | |
var ns = /\S/; | |
var decorateSource = u({ | |
keywords : [PYTHON_KEYWORDS, H, FLOW_CONTROL_KEYWORDS, "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END", J, KEYWORDS, CPP_KEYWORDS], | |
hashComments : true, | |
cStyleComments : true, | |
multiLineStrings : true, | |
regexLiterals : true | |
}); | |
var langHandlerRegistry = {}; | |
registerLangHandler(decorateSource, ["default-code"]); | |
registerLangHandler(createSimpleLexer([], [["pln", /^[^<?]+/], ["dec", /^<!\w[^>]*(?:>|$)/], ["com", /^<\!--[\s\S]*?(?:-\->|$)/], ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/], ["lang-", /^<%([\s\S]+?)(?:%>|$)/], ["pun", /^(?:<[%?]|[%?]>)/], ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]]), "default-markup htm html mxml xhtml xml xsl".split(" ")); | |
registerLangHandler(createSimpleLexer([["pln", /^[\s]+/, null, " \t\r\n"], ["atv", /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, "\"'"]], [["tag", /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], ["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], ["lang-uq.val", /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], ["pun", /^[=<>\/]+/], ["lang-js", /^on\w+\s*=\s*\"([^\"]+)\"/i], ["lang-js", /^on\w+\s*=\s*\'([^\']+)\'/i], ["lang-js", /^on\w+\s*=\s*([^\"\'>\s]+)/i], ["lang-css", /^style\s*=\s*\"([^\"]+)\"/i], ["lang-css", | |
/^style\s*=\s*\'([^\']+)\'/i], ["lang-css", /^style\s*=\s*([^\"\'>\s]+)/i]]), ["in.tag"]); | |
registerLangHandler(createSimpleLexer([], [["atv", /^[\s\S]+/]]), ["uq.val"]); | |
registerLangHandler(u({ | |
keywords : PYTHON_KEYWORDS, | |
hashComments : true, | |
cStyleComments : true, | |
types : C_TYPES | |
}), "c cc cpp cxx cyc m".split(" ")); | |
registerLangHandler(u({ | |
keywords : "null,true,false" | |
}), ["json"]); | |
registerLangHandler(u({ | |
keywords : H, | |
hashComments : true, | |
cStyleComments : true, | |
verbatimStrings : true, | |
types : C_TYPES | |
}), ["cs"]); | |
registerLangHandler(u({ | |
keywords : RUBY_KEYWORDS, | |
cStyleComments : true | |
}), ["java"]); | |
registerLangHandler(u({ | |
keywords : CPP_KEYWORDS, | |
hashComments : true, | |
multiLineStrings : true | |
}), ["bash", "bsh", "csh", "sh"]); | |
registerLangHandler(u({ | |
keywords : J, | |
hashComments : true, | |
multiLineStrings : true, | |
tripleQuotedStrings : true | |
}), ["cv", "py", "python"]); | |
registerLangHandler(u({ | |
keywords : "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END", | |
hashComments : true, | |
multiLineStrings : true, | |
regexLiterals : 2 | |
}), ["perl", "pl", "pm"]); | |
registerLangHandler(u({ | |
keywords : KEYWORDS, | |
hashComments : true, | |
multiLineStrings : true, | |
regexLiterals : true | |
}), ["rb", "ruby"]); | |
registerLangHandler(u({ | |
keywords : FLOW_CONTROL_KEYWORDS, | |
cStyleComments : true, | |
regexLiterals : true | |
}), ["javascript", "js"]); | |
registerLangHandler(u({ | |
keywords : "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes", | |
hashComments : 3, | |
cStyleComments : true, | |
multilineStrings : true, | |
tripleQuotedStrings : true, | |
regexLiterals : true | |
}), ["coffee"]); | |
registerLangHandler(u({ | |
keywords : ALL_KEYWORDS, | |
cStyleComments : true, | |
multilineStrings : true | |
}), ["rc", "rs", "rust"]); | |
registerLangHandler(createSimpleLexer([], [["str", /^[\s\S]+/]]), ["regex"]); | |
var Ua = w.PR = { | |
/** @type {function (Array, ?): ?} */ | |
createSimpleLexer : createSimpleLexer, | |
/** @type {function (?, Array): undefined} */ | |
registerLangHandler : registerLangHandler, | |
/** @type {function (Object): ?} */ | |
sourceDecorator : u, | |
PR_ATTRIB_NAME : "atn", | |
PR_ATTRIB_VALUE : "atv", | |
PR_COMMENT : "com", | |
PR_DECLARATION : "dec", | |
PR_KEYWORD : "kwd", | |
PR_LITERAL : "lit", | |
PR_NOCODE : "nocode", | |
PR_PLAIN : "pln", | |
PR_PUNCTUATION : "pun", | |
PR_SOURCE : "src", | |
PR_STRING : "str", | |
PR_TAG : "tag", | |
PR_TYPE : "typ", | |
/** | |
* @param {string} sourceCodeHtml | |
* @param {?} sq | |
* @param {Object} opt_numberLines | |
* @return {?} | |
*/ | |
prettyPrintOne : function(sourceCodeHtml, sq, opt_numberLines) { | |
/** @type {Element} */ | |
var container = document.createElement("div"); | |
/** @type {string} */ | |
container.innerHTML = "<pre>" + sourceCodeHtml + "</pre>"; | |
/** @type {(Node|null)} */ | |
container = container.firstChild; | |
if (opt_numberLines) { | |
numberLines(container, opt_numberLines, true); | |
} | |
createElement({ | |
sq : sq, | |
Tu : opt_numberLines, | |
Rn : container, | |
Uq : 1 | |
}); | |
return container.innerHTML; | |
}, | |
/** @type {function (Node, ?, Object): undefined} */ | |
prettyPrintElem : setContainer = function(container, opt_attributes, event) { | |
if (event) { | |
numberLines(container, event, true); | |
} | |
createElement({ | |
sq : opt_attributes, | |
Tu : event, | |
Rn : container, | |
Uq : 1 | |
}); | |
}, | |
/** @type {function (Array, Object): undefined} */ | |
prettyPrint : prettyPrint = prettyPrint = function(map, body) { | |
/** | |
* @return {undefined} | |
*/ | |
function doWork() { | |
var endTime = w.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity; | |
for (;k < elements.length && l.now() < endTime;k++) { | |
var node = elements[k]; | |
var d = el; | |
var prev = node; | |
for (;prev = prev.previousSibling;) { | |
var a = prev.nodeType; | |
var current = (7 === a || 8 === a) && prev.nodeValue; | |
if (current ? !/^\jQuery18209928365310188383_1405632946447prettify\b/.test(current) : 3 !== a || /\S/.test(prev.nodeValue)) { | |
break; | |
} | |
if (current) { | |
d = {}; | |
current.replace(/\b(\w+)=([\w:.%+-]+)/g, function(dataAndEvents, k, v) { | |
d[k] = v; | |
}); | |
break; | |
} | |
} | |
prev = node.className; | |
if ((d !== el || nocode.test(prev)) && !regexInfix.test(prev)) { | |
/** @type {boolean} */ | |
a = false; | |
current = node.parentNode; | |
for (;current;current = current.parentNode) { | |
if (rchecked.test(current.tagName) && (current.className && nocode.test(current.className))) { | |
/** @type {boolean} */ | |
a = true; | |
break; | |
} | |
} | |
if (!a) { | |
node.className += " prettyprinted"; | |
a = d.lang; | |
if (!a) { | |
a = prev.match(optgroup); | |
var v; | |
if (!a) { | |
if (v = walk(node)) { | |
if (specialTags.test(v.tagName)) { | |
a = v.className.match(optgroup); | |
} | |
} | |
} | |
if (a) { | |
a = a[1]; | |
} | |
} | |
if (RE_TABLE.test(node.tagName)) { | |
/** @type {number} */ | |
current = 1; | |
} else { | |
current = node.currentStyle; | |
var b = doc.defaultView; | |
current = (current = current ? current.whiteSpace : b && b.getComputedStyle ? b.getComputedStyle(node, null).getPropertyValue("white-space") : 0) && "pre" === current.substring(0, 3); | |
} | |
b = d.linenums; | |
if (!(b = "true" === b || +b)) { | |
/** @type {(boolean|number)} */ | |
b = (b = prev.match(/\blinenums\b(?::(\d+))?/)) ? b[1] && b[1].length ? +b[1] : true : false; | |
} | |
if (b) { | |
numberLines(node, b, current); | |
} | |
pdataCur = { | |
sq : a, | |
Rn : node, | |
Tu : b, | |
Uq : current | |
}; | |
createElement(pdataCur); | |
} | |
} | |
} | |
if (k < elements.length) { | |
setTimeout(doWork, 250); | |
} else { | |
if ("function" === typeof map) { | |
map(); | |
} | |
} | |
} | |
var codeSegments = body || document.body; | |
var doc = codeSegments.ownerDocument || document; | |
/** @type {Array} */ | |
codeSegments = [codeSegments.getElementsByTagName("pre"), codeSegments.getElementsByTagName("code"), codeSegments.getElementsByTagName("xmp")]; | |
/** @type {Array} */ | |
var elements = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;++i) { | |
/** @type {number} */ | |
var j = 0; | |
var jl = codeSegments[i].length; | |
for (;j < jl;++j) { | |
elements.push(codeSegments[i][j]); | |
} | |
} | |
/** @type {null} */ | |
codeSegments = null; | |
/** @type {function (new:Date, ?=, ?=, ?=, ?=, ?=, ?=, ?=): string} */ | |
var l = Date; | |
if (!l.now) { | |
l = { | |
/** | |
* @return {?} | |
*/ | |
now : function() { | |
return+new Date; | |
} | |
}; | |
} | |
/** @type {number} */ | |
var k = 0; | |
var pdataCur; | |
/** @type {RegExp} */ | |
var optgroup = /\blang(?:uage)?-([\w.]+)(?!\S)/; | |
/** @type {RegExp} */ | |
var nocode = /\bprettyprint\b/; | |
/** @type {RegExp} */ | |
var regexInfix = /\bprettyprinted\b/; | |
/** @type {RegExp} */ | |
var RE_TABLE = /pre|xmp/i; | |
/** @type {RegExp} */ | |
var specialTags = /^code$/i; | |
/** @type {RegExp} */ | |
var rchecked = /^(?:pre|code|xmp)$/i; | |
var el = {}; | |
doWork(); | |
} | |
}; | |
if ("function" === typeof define) { | |
if (define.amd) { | |
define("google-code-prettify", [], function() { | |
return Ua; | |
}); | |
} | |
} | |
})(); | |
/** | |
* @return {undefined} | |
*/ | |
var Events = function() { | |
_super.apply(this); | |
}; | |
__extends(Events, _super); | |
/** | |
* @return {?} | |
*/ | |
Events.prototype.Nk = function() { | |
return get_mangled(this, 5); | |
}; | |
/** | |
* @param {?} res | |
* @param {number} val | |
* @return {undefined} | |
*/ | |
var succeed = function(res, val) { | |
origFindId(res, 10, val); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
Events.prototype.Cr = function(name) { | |
return origFindId(this, 8, name); | |
}; | |
/** | |
* @param {?} obj | |
* @param {number} val | |
* @return {undefined} | |
*/ | |
var isNull = function(obj, val) { | |
origFindId(obj, 11, val); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var FileError = function() { | |
_super.apply(this); | |
}; | |
__extends(FileError, _super); | |
var IndicatorElement = { | |
NONE : 0, | |
tH : 1, | |
fC : 2 | |
}; | |
var contentType = { | |
Dw : 0, | |
EF : 1, | |
CF : 2, | |
DF : 3, | |
HA : 4, | |
LA : 5, | |
HD : 6, | |
PF : 7 | |
}; | |
isAncestor(Events, { | |
0 : { | |
name : "LinkSettings", | |
$ : "proto.access.LinkSettings" | |
}, | |
3 : { | |
name : "created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "secret_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
14 : { | |
name : "view_settings", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : FileError | |
}, | |
15 : { | |
name : "enable_request_access", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "allow_guests", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
10 : { | |
name : "guest_mode", | |
c : 14, | |
defaultValue : 0, | |
type : IndicatorElement | |
}, | |
8 : { | |
name : "workgroup_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "workgroup_mode", | |
c : 14, | |
defaultValue : 0, | |
type : IndicatorElement | |
} | |
}); | |
isAncestor(FileError, { | |
0 : { | |
name : "ViewSettings", | |
/** @type {function (): undefined} */ | |
va : Events, | |
$ : "proto.access.LinkSettings.ViewSettings" | |
}, | |
1 : { | |
name : "show_conversation", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
2 : { | |
name : "show_diffs", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
3 : { | |
name : "allow_messages", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "allow_comments", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "allow_join", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var ValidationError = function() { | |
_super.apply(this); | |
}; | |
__extends(ValidationError, _super); | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
ValidationError.prototype.ys = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
ValidationError.prototype.xv = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
ValidationError.prototype.$t = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Capture = function() { | |
_super.apply(this); | |
}; | |
__extends(Capture, _super); | |
self = Capture.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
self.vd = function(owner) { | |
return _findBelongsTo(this, 2, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Oc = function() { | |
return deepEqual(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zk = function() { | |
return member(this, 2); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var controlsElement = function() { | |
_super.apply(this); | |
}; | |
__extends(controlsElement, _super); | |
self = controlsElement.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 2, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lg = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.ti = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Extends = function() { | |
_super.apply(this); | |
}; | |
__extends(Extends, _super); | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
Extends.prototype.ys = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Extends.prototype.xv = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Extends.prototype.$t = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var PlayState = function() { | |
_super.apply(this); | |
}; | |
__extends(PlayState, _super); | |
self = PlayState.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 2, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 2); | |
}; | |
var eventName = { | |
MB : 1, | |
Lw : 2, | |
Pw : 4, | |
is : 8, | |
ns : 128, | |
qB : 4096, | |
FA : 2048, | |
Qw : 32, | |
Xw : 64, | |
CB : 256, | |
sC : 512, | |
UC : 1024, | |
iE : 16 | |
}; | |
isAncestor(ValidationError, { | |
0 : { | |
name : "Results", | |
$ : "syncer.autocomplete.Results" | |
}, | |
1 : { | |
name : "results", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Capture | |
} | |
}); | |
isAncestor(Capture, { | |
0 : { | |
name : "Result", | |
/** @type {function (): undefined} */ | |
va : ValidationError, | |
$ : "syncer.autocomplete.Results.Result" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 1, | |
type : eventName | |
}, | |
2 : { | |
name : "ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(controlsElement, { | |
0 : { | |
name : "Record", | |
$ : "syncer.autocomplete.Record" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 1, | |
type : eventName | |
}, | |
2 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "title", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "deleted", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "score", | |
c : 1, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Extends, { | |
0 : { | |
name : "SearchResults", | |
$ : "syncer.autocomplete.SearchResults" | |
}, | |
1 : { | |
name : "results", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : PlayState | |
} | |
}); | |
isAncestor(PlayState, { | |
0 : { | |
name : "Result", | |
/** @type {function (): undefined} */ | |
va : Extends, | |
$ : "syncer.autocomplete.SearchResults.Result" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 1, | |
type : eventName | |
}, | |
2 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var holder = function() { | |
_super.apply(this); | |
}; | |
__extends(holder, _super); | |
var chartType = { | |
uH : 0, | |
CD : 1, | |
nx : 2, | |
BD : 3, | |
OA : 4, | |
PA : 5, | |
BE : 6, | |
tF : 7 | |
}; | |
isAncestor(holder, { | |
0 : { | |
name : "Device", | |
$ : "proto.http.Device" | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var SequenceEndEvent = function() { | |
_super.apply(this); | |
}; | |
__extends(SequenceEndEvent, _super); | |
self = SequenceEndEvent.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 6, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Jt = function() { | |
return func(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Rv = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.om = function() { | |
return isArray(this, 3); | |
}; | |
isAncestor(SequenceEndEvent, { | |
0 : { | |
name : "Node", | |
$ : "proto.files.Node" | |
}, | |
1 : { | |
name : "path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "is_dir", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "mime_type", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "modified", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "size", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "contents", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : SequenceEndEvent | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var For = function() { | |
_super.apply(this); | |
}; | |
__extends(For, _super); | |
self = For.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ig = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} target | |
* @return {?} | |
*/ | |
self.qi = function(target) { | |
return origFindId(this, 1, target); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lt = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Sv = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Ov = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ht = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @param {Object} isXML | |
* @return {?} | |
*/ | |
self.Pv = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yt = function() { | |
return ondata(this, 4); | |
}; | |
isAncestor(For, { | |
0 : { | |
name : "PhoneNumber", | |
$ : "proto.notify.PhoneNumber" | |
}, | |
1 : { | |
name : "country_code", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "national_number", | |
c : 4, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "extension", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "italian_leading_zero", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "raw_input", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "country_code_source", | |
c : 14, | |
defaultValue : 1, | |
type : { | |
Ww : 1, | |
Vw : 5, | |
Uw : 10, | |
Tw : 20 | |
} | |
}, | |
7 : { | |
name : "preferred_domestic_carrier_code", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var CB = function() { | |
_super.apply(this); | |
}; | |
__extends(CB, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var Cordova = function() { | |
_super.apply(this); | |
}; | |
__extends(Cordova, _super); | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Cordova.prototype.Vv = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var throttler = function() { | |
_super.apply(this); | |
}; | |
__extends(throttler, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var cand = function() { | |
_super.apply(this); | |
}; | |
__extends(cand, _super); | |
var TYPE_CSS = { | |
NONE : 0, | |
iD : 1, | |
tD : 2, | |
PE : 3 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var bodyElem = function() { | |
_super.apply(this); | |
}; | |
__extends(bodyElem, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var delayed = function() { | |
_super.apply(this); | |
}; | |
__extends(delayed, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var later = function() { | |
_super.apply(this); | |
}; | |
__extends(later, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var titleElement = function() { | |
_super.apply(this); | |
}; | |
__extends(titleElement, _super); | |
self = titleElement.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 15); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 15, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 15); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 15); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 400); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 400); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 400, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 400); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 403); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 403); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 403, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 403); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 403); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var selector = function() { | |
_super.apply(this); | |
}; | |
__extends(selector, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var MappingStartEvent = function() { | |
_super.apply(this); | |
}; | |
__extends(MappingStartEvent, _super); | |
self = MappingStartEvent.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Jg = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.$i = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qk = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sf = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ke = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.gb = function(opt_attributes) { | |
return origFindId(this, 2, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sk = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nm = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.Sa = function(opt_attributes) { | |
return origFindId(this, 3, opt_attributes); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var reason = function() { | |
_super.apply(this); | |
}; | |
__extends(reason, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var AliasEvent = function() { | |
_super.apply(this); | |
}; | |
__extends(AliasEvent, _super); | |
/** | |
* @return {?} | |
*/ | |
AliasEvent.prototype.Ig = function() { | |
return get_mangled(this, 8); | |
}; | |
/** | |
* @param {?} target | |
* @return {?} | |
*/ | |
AliasEvent.prototype.qi = function(target) { | |
return origFindId(this, 8, target); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var onceFn = function() { | |
_super.apply(this); | |
}; | |
__extends(onceFn, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var Call = function() { | |
_super.apply(this); | |
}; | |
__extends(Call, _super); | |
self = Call.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Vi = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.ur = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 6, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var out = function() { | |
_super.apply(this); | |
}; | |
__extends(out, _super); | |
self = out.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 400); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 400); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 400, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 400); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 403); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 403); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 403, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 403); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 403); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 404); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 404, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 404); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 404); | |
}; | |
var ScrollContainer = { | |
aD : 2, | |
FH : 8, | |
gF : 9, | |
jE : 10, | |
Qw : 12, | |
Xw : 13 | |
}; | |
var acceptType = { | |
HB : 0, | |
OC : 1 | |
}; | |
isAncestor(CB, { | |
0 : { | |
name : "Gender", | |
$ : "proto.users.Gender" | |
} | |
}); | |
isAncestor(Cordova, { | |
0 : { | |
name : "AppleDevice", | |
$ : "proto.users.AppleDevice" | |
}, | |
1 : { | |
name : "token", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "locale", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "bundle", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "model", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "invalid", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "sandbox", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
7 : { | |
name : "inactive", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
8 : { | |
name : "vendor_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "last_build", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
10 : { | |
name : "advertising_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(throttler, { | |
0 : { | |
name : "AndroidDevice", | |
$ : "proto.users.AndroidDevice" | |
}, | |
1 : { | |
name : "gcm_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "parse_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
14 : { | |
name : "device_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
13 : { | |
name : "parse_package", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "make", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "model", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "width_px", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "height_px", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "logical_density", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
7 : { | |
name : "locale", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "invalid", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
11 : { | |
name : "inactive", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(cand, { | |
0 : { | |
name : "NotificationLevel", | |
$ : "proto.users.NotificationLevel" | |
} | |
}); | |
isAncestor(bodyElem, { | |
0 : { | |
name : "Email", | |
$ : "proto.users.Email" | |
}, | |
1 : { | |
name : "address", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "send_notifications", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "show_on_profile", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "google_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "bounces", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : delayed | |
} | |
}); | |
isAncestor(delayed, { | |
0 : { | |
name : "Bounce", | |
/** @type {function (): undefined} */ | |
va : bodyElem, | |
$ : "proto.users.Email.Bounce" | |
}, | |
1 : { | |
name : "permanent", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
2 : { | |
name : "reported_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(later, { | |
0 : { | |
name : "UsageMilestones", | |
$ : "proto.users.UsageMilestones" | |
}, | |
1 : { | |
name : "created_document", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
2 : { | |
name : "created_folder", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
3 : { | |
name : "shared_document", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "shared_folder", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "used_desktop_web", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "used_ipad", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
7 : { | |
name : "used_iphone", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
8 : { | |
name : "used_android_phone", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
9 : { | |
name : "used_android_tablet", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
10 : { | |
name : "has_profile_picture", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
11 : { | |
name : "imported_local_address_book", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
12 : { | |
name : "was_invited_to_folder", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
13 : { | |
name : "was_invited_to_thread", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
14 : { | |
name : "sent_message", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
15 : { | |
name : "started_business_trial", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(titleElement, { | |
0 : { | |
name : "PendingUser", | |
$ : "proto.users.PendingUser" | |
}, | |
1 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "password_hash", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "password_salt", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "state", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
YB : 0, | |
kF : 1, | |
yD : 3, | |
js : 4 | |
} | |
}, | |
20 : { | |
name : "locale", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "emails", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : bodyElem | |
}, | |
7 : { | |
name : "unverified_emails", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : bodyElem | |
}, | |
8 : { | |
name : "phone_numbers", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : For | |
}, | |
9 : { | |
name : "unverified_phone_numbers", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : For | |
}, | |
10 : { | |
name : "ios_devices", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Cordova | |
}, | |
11 : { | |
name : "android_devices", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : throttler | |
}, | |
24 : { | |
name : "has_android_device", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
12 : { | |
name : "invited_by_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
25 : { | |
name : "last_app_invited_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
16 : { | |
name : "workgroup_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
17 : { | |
name : "workgroup_domain", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
19 : { | |
name : "workgroup_phone_number", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : For | |
}, | |
21 : { | |
name : "facebook_profile", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
22 : { | |
name : "facebook_access_token", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
15 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
23 : { | |
name : "signup_reminder_sent", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
26 : { | |
name : "signup_channel", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : AliasEvent | |
}, | |
400 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
401 : { | |
name : "created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
402 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
403 : { | |
name : "sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(selector, { | |
0 : { | |
name : "Pictures", | |
$ : "proto.users.Pictures" | |
}, | |
1 : { | |
name : "native", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : reason | |
}, | |
2 : { | |
name : "facebook", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : reason | |
}, | |
3 : { | |
name : "twitter", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : reason | |
}, | |
4 : { | |
name : "google", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : reason | |
} | |
}); | |
isAncestor(MappingStartEvent, { | |
0 : { | |
name : "Image", | |
/** @type {function (): undefined} */ | |
va : selector, | |
$ : "proto.users.Pictures.Image" | |
}, | |
1 : { | |
name : "hash", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "width", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "height", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "url", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(reason, { | |
0 : { | |
name : "Service", | |
/** @type {function (): undefined} */ | |
va : selector, | |
$ : "proto.users.Pictures.Service" | |
}, | |
1 : { | |
name : "images", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : MappingStartEvent | |
}, | |
2 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(AliasEvent, { | |
0 : { | |
name : "SignupChannel", | |
$ : "proto.users.SignupChannel" | |
}, | |
1 : { | |
name : "device", | |
c : 14, | |
defaultValue : 2, | |
type : chartType | |
}, | |
2 : { | |
name : "keyword", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "campaign_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "search_source", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "web_ad_source", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "mobile_ad_source", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "referral_host", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "country_code", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(onceFn, { | |
0 : { | |
name : "ContactSource", | |
$ : "proto.users.ContactSource" | |
} | |
}); | |
isAncestor(Call, { | |
0 : { | |
name : "AddressBookContact", | |
$ : "proto.users.AddressBookContact" | |
}, | |
1 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "emails", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "phone_numbers", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "affinity", | |
c : 1, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "explicitly_added", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(out, { | |
0 : { | |
name : "ServiceImport", | |
$ : "proto.users.ServiceImport" | |
}, | |
2 : { | |
name : "service", | |
c : 14, | |
defaultValue : 2, | |
type : ScrollContainer | |
}, | |
3 : { | |
name : "service_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "import_type", | |
c : 14, | |
defaultValue : 0, | |
type : acceptType | |
}, | |
1 : { | |
name : "contacts", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Call | |
}, | |
5 : { | |
name : "file_metadata", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : SequenceEndEvent | |
}, | |
6 : { | |
name : "cursor", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "max_change_id", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
400 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
401 : { | |
name : "created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
402 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
403 : { | |
name : "sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
404 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var SquareTile = function() { | |
_super.apply(this); | |
}; | |
__extends(SquareTile, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var PointLinearTransition = function() { | |
_super.apply(this); | |
}; | |
__extends(PointLinearTransition, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var throttled = function() { | |
_super.apply(this); | |
}; | |
__extends(throttled, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var LinearTransition = function() { | |
_super.apply(this); | |
}; | |
__extends(LinearTransition, _super); | |
isAncestor(SquareTile, { | |
0 : { | |
name : "FolderEnum", | |
$ : "proto.folders.FolderEnum" | |
} | |
}); | |
isAncestor(PointLinearTransition, { | |
0 : { | |
name : "FolderMemberEnum", | |
$ : "proto.folders.FolderMemberEnum" | |
} | |
}); | |
isAncestor(throttled, { | |
0 : { | |
name : "InvitedFolderMemberEnum", | |
$ : "proto.folders.InvitedFolderMemberEnum" | |
} | |
}); | |
isAncestor(LinearTransition, { | |
0 : { | |
name : "FolderObjectEnum", | |
$ : "proto.folders.FolderObjectEnum" | |
} | |
}); | |
var paramType = { | |
ns : 0, | |
Pw : 1, | |
VF : 2, | |
cx : 3, | |
WG : 5, | |
AD : 22, | |
nH : 4, | |
Lw : 9, | |
WA : 24, | |
bG : 25, | |
rH : 12, | |
qH : 27, | |
hG : 30, | |
is : 14, | |
PC : 15, | |
RC : 16, | |
zD : 23, | |
TC : 26, | |
AH : 17, | |
BH : 18, | |
EB : 28, | |
FB : 29, | |
sH : 20, | |
qF : 21, | |
jB : 13, | |
wF : 65, | |
vF : 66, | |
GF : 67, | |
hD : 68, | |
ZG : 69, | |
sD : 70, | |
iH : 71, | |
bD : 72, | |
dB : 73, | |
uF : 74 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var ClientCredentialsFlow = function() { | |
_super.apply(this); | |
}; | |
__extends(ClientCredentialsFlow, _super); | |
/** | |
* @return {?} | |
*/ | |
ClientCredentialsFlow.prototype.Be = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
ClientCredentialsFlow.prototype.pd = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
ClientCredentialsFlow.prototype.De = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
ClientCredentialsFlow.prototype.Me = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var trailingCall = function() { | |
_super.apply(this); | |
}; | |
__extends(trailingCall, _super); | |
isAncestor(ClientCredentialsFlow, { | |
0 : { | |
name : "LikeState", | |
$ : "proto.like.LikeState" | |
}, | |
1 : { | |
name : "liked", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
2 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(trailingCall, { | |
0 : { | |
name : "LikeBundle", | |
$ : "proto.like.LikeBundle" | |
}, | |
1 : { | |
name : "likes", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ClientCredentialsFlow | |
} | |
}); | |
/** @type {number} */ | |
var channelName = 9; | |
/** @type {number} */ | |
var nodeRequest = 10; | |
var deps = { | |
LE : 0, | |
eC : 1, | |
NA : 2, | |
MA : 3, | |
SC : 4, | |
WB : 5, | |
xE : 13, | |
wE : 14, | |
vE : 16, | |
yE : 15, | |
AE : 21, | |
zE : 22, | |
KD : 6, | |
JD : 7, | |
qC : 8, | |
jC : channelName, | |
kC : nodeRequest, | |
nC : 17, | |
lC : 18, | |
mC : 23, | |
pC : 19, | |
oC : 20, | |
iC : 24, | |
xH : 11, | |
wH : 12 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var withinElement = function() { | |
_super.apply(this); | |
}; | |
__extends(withinElement, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var EcoLanguage = function() { | |
_super.apply(this); | |
}; | |
__extends(EcoLanguage, _super); | |
self = EcoLanguage.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Tt = function() { | |
return get_mangled(this, 26); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.It = function() { | |
return get_mangled(this, 39); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Gt = function() { | |
return get_mangled(this, 53); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Mt = function() { | |
return func(this, 56); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rt = function() { | |
return func(this, 57); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Pp = function() { | |
return func(this, 58); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var child = function() { | |
_super.apply(this); | |
}; | |
__extends(child, _super); | |
self = child.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Tt = function() { | |
return get_mangled(this, 26); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.It = function() { | |
return get_mangled(this, 39); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Gt = function() { | |
return get_mangled(this, 53); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Mt = function() { | |
return func(this, 56); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rt = function() { | |
return func(this, 57); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Pp = function() { | |
return func(this, 58); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var proxyfn = function() { | |
_super.apply(this); | |
}; | |
__extends(proxyfn, _super); | |
isAncestor(withinElement, { | |
0 : { | |
name : "ExperimentState", | |
$ : "proto.rollouts.ExperimentState" | |
}, | |
1 : { | |
name : "tour_type", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
dH : 0, | |
gH : 1, | |
eH : 2, | |
fH : 3 | |
} | |
}, | |
2 : { | |
name : "suppress_team_promo", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(EcoLanguage, { | |
0 : { | |
name : "RolloutState", | |
$ : "proto.rollouts.RolloutState" | |
}, | |
21 : { | |
name : "can_use_staging", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
26 : { | |
name : "spreadsheets", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
39 : { | |
name : "linkify_phone_numbers", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
53 : { | |
name : "hide_offscreen_sections", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
54 : { | |
name : "box_import", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
56 : { | |
name : "new_chat_list", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
57 : { | |
name : "sections_stale_check", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
58 : { | |
name : "signals", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
59 : { | |
name : "integrations", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
200 : { | |
name : "experiment_state", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : withinElement | |
}, | |
1 : { | |
name : "notification_controls", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
3 : { | |
name : "evernote_import", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dropbox_chooser", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "dropbox_link", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
8 : { | |
name : "deletion_redesign", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
9 : { | |
name : "gdrive_import", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
12 : { | |
name : "ios_device_width_fix", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
14 : { | |
name : "private_document_ui", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
16 : { | |
name : "complete_account_promo", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
20 : { | |
name : "shortcuts_cheat_sheet", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
11 : { | |
name : "evernote_import_ios", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "dropbox_chooser_ios", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
7 : { | |
name : "dropbox_link_ios", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
10 : { | |
name : "gdrive_import_ios", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(child, { | |
0 : { | |
name : "RolloutSpec", | |
$ : "proto.rollouts.RolloutSpec" | |
}, | |
21 : { | |
name : "can_use_staging", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
26 : { | |
name : "spreadsheets", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
39 : { | |
name : "linkify_phone_numbers", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
53 : { | |
name : "hide_offscreen_sections", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
54 : { | |
name : "box_import", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
56 : { | |
name : "new_chat_list", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
57 : { | |
name : "sections_stale_check", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
58 : { | |
name : "signals", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
59 : { | |
name : "integrations", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
500 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(proxyfn, { | |
0 : { | |
name : "Rule", | |
/** @type {function (): undefined} */ | |
va : child, | |
$ : "proto.rollouts.RolloutSpec.Rule" | |
}, | |
1 : { | |
name : "level", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
NONE : 0, | |
tC : 1, | |
AF : 2, | |
jH : 3, | |
Dw : 5 | |
} | |
}, | |
2 : { | |
name : "whitelist_user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "blacklist_user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "whitelist_workgroup_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "blacklist_workgroup_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "whitelist_company_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "blacklist_company_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "whitelist_email_regexes", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "blacklist_email_regexes", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "web", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
5 : { | |
name : "ios", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
}, | |
6 : { | |
name : "android", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : proxyfn | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var Digest = function() { | |
_super.apply(this); | |
}; | |
__extends(Digest, _super); | |
/** | |
* @return {?} | |
*/ | |
Digest.prototype.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Digest.prototype.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
Digest.prototype.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
var mime = { | |
ls : 0, | |
po : 1, | |
Sw : 2, | |
ix : 3, | |
Nw : 4, | |
fx : 5, | |
Ow : 6, | |
Hw : 7, | |
Rw : 8 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Cursor = function() { | |
_super.apply(this); | |
}; | |
__extends(Cursor, _super); | |
self = Cursor.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getStringValue = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.setStringValue = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Venue = function() { | |
_super.apply(this); | |
}; | |
__extends(Venue, _super); | |
/** | |
* @return {?} | |
*/ | |
Venue.prototype.getName = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Venue.prototype.Td = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Venue.prototype.Fd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Index = function() { | |
_super.apply(this); | |
}; | |
__extends(Index, _super); | |
isAncestor(Digest, { | |
0 : { | |
name : "CellFormat", | |
$ : "proto.formula.CellFormat" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : mime | |
}, | |
2 : { | |
name : "decimals", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "comma", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "date_format_index", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "scientific_fallback", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(Cursor, { | |
0 : { | |
name : "Result", | |
$ : "proto.formula.Result" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
po : 0, | |
Hw : 1, | |
lx : 2, | |
Rw : 3 | |
} | |
}, | |
2 : { | |
name : "number_value", | |
c : 1, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "boolean_value", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "string_value", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "error_value", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Venue, { | |
0 : { | |
name : "Function", | |
$ : "proto.formula.Function" | |
}, | |
1 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "args", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "documentation", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Index, { | |
0 : { | |
name : "Functions", | |
$ : "proto.formula.Functions" | |
}, | |
1 : { | |
name : "functions", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Venue | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var msg = function() { | |
_super.apply(this); | |
}; | |
__extends(msg, _super); | |
self = msg.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Jg = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.$i = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qk = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sf = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ke = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.gb = function(opt_attributes) { | |
return origFindId(this, 2, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sk = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nm = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.Sa = function(opt_attributes) { | |
return origFindId(this, 3, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Jt = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Categories = function() { | |
_super.apply(this); | |
}; | |
__extends(Categories, _super); | |
self = Categories.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.lf = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.pc = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {(number|string)} value | |
* @return {?} | |
*/ | |
self.ja = function(value) { | |
return origFindId(this, 2, value); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zh = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Pt = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yc = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {number} deepDataAndEvents | |
* @return {?} | |
*/ | |
self.ri = function(deepDataAndEvents) { | |
return origFindId(this, 3, deepDataAndEvents); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hc = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ld = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @param {Array} recurring | |
* @return {?} | |
*/ | |
self.$a = function(recurring) { | |
return origFindId(this, 4, recurring); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.cb = function() { | |
return ondata(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.pm = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ct = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Kv = function(isXML) { | |
return origFindId(this, 5, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qp = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Uv = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.cq = function() { | |
return ondata(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qm = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Pd = function() { | |
return func(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qd = function() { | |
return get_mangled(this, 7); | |
}; | |
/** | |
* @param {?} listener | |
* @return {?} | |
*/ | |
self.He = function(listener) { | |
return origFindId(this, 7, listener); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hasAttributes = function() { | |
return ondata(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yi = function() { | |
return func(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ob = function() { | |
return get_mangled(this, 8); | |
}; | |
/** | |
* @param {?} obj | |
* @return {?} | |
*/ | |
self.Za = function(obj) { | |
return origFindId(this, 8, obj); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Wt = function() { | |
return ondata(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ve = function() { | |
return isArray(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lp = function() { | |
return get_mangled(this, 10); | |
}; | |
/** | |
* @param {number} deepDataAndEvents | |
* @return {?} | |
*/ | |
self.pi = function(deepDataAndEvents) { | |
return origFindId(this, 10, deepDataAndEvents); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 9); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 9); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 9, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lm = function() { | |
return func(this, 300); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Gn = function(isXML) { | |
return origFindId(this, 300, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.aq = function() { | |
return ondata(this, 300); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Mp = function() { | |
return func(this, 301); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.xr = function(isXML) { | |
return origFindId(this, 301, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.$p = function() { | |
return ondata(this, 301); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 600); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 600); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 600, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 600); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rf = function() { | |
return func(this, 601); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Tb = function() { | |
return get_mangled(this, 601); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.xb = function(isXML) { | |
return origFindId(this, 601, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rk = function() { | |
return ondata(this, 601); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jk = function() { | |
return isArray(this, 601); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lk = function() { | |
return func(this, 605); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ot = function() { | |
return get_mangled(this, 605); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.zr = function(isXML) { | |
return origFindId(this, 605, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zt = function() { | |
return ondata(this, 605); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 604); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 604); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 604, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 604); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 604); | |
}; | |
/** @type {number} */ | |
var expectedNumberOfNonCommentArgs = 0; | |
var suiteView = { | |
VG : expectedNumberOfNonCommentArgs, | |
cE : 1, | |
rD : 2, | |
EG : 3, | |
HG : 4, | |
JG : 5, | |
no : 6, | |
mo : 7, | |
oo : 8, | |
qe : 9, | |
lo : 11, | |
WC : 10 | |
}; | |
/** @type {number} */ | |
var pdataOld = 1; | |
/** @type {number} */ | |
var udataCur = 3; | |
var proto = { | |
UG : 0, | |
PG : pdataOld, | |
QG : 2, | |
RG : udataCur, | |
NG : 4, | |
$D : 5, | |
bE : 6, | |
aE : 7, | |
DG : 8, | |
KG : 13, | |
IG : 9, | |
FG : 10, | |
qD : 11, | |
VC : 12 | |
}; | |
/** @type {number} */ | |
var deepDataAndEvents = 0; | |
var gesture = { | |
jx : deepDataAndEvents, | |
Mw : 1 | |
}; | |
var viewItems = { | |
Gw : 1, | |
$w : 2, | |
mx : 4 | |
}; | |
var dataType = { | |
yH : 0, | |
hx : 1, | |
dx : 2, | |
GH : 3, | |
Yw : 4, | |
Fw : 5, | |
gx : 6, | |
gB : 7 | |
}; | |
var expectedType = { | |
oH : 0, | |
NE : 1, | |
LG : 2, | |
JB : 3 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Collection = function() { | |
_super.apply(this); | |
}; | |
__extends(Collection, _super); | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
Collection.prototype.vd = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Collection.prototype.Oc = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Collection.prototype.Zk = function() { | |
return member(this, 1); | |
}; | |
/** | |
* @param {?} value | |
* @return {?} | |
*/ | |
var prompt = function(value) { | |
return func(value, 2); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var splitPrefix = function(name) { | |
return get_mangled(name, 2); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var findOne = function(name) { | |
return ondata(name, 2); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var Step = function(name) { | |
return func(name, 4); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var is_event_name = function(name) { | |
return ondata(name, 4); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Arr = function() { | |
_super.apply(this); | |
}; | |
__extends(Arr, _super); | |
self = Arr.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Xi = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fn = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Op = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Qv = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Km = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kp = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Lv = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Tag = function() { | |
_super.apply(this); | |
}; | |
__extends(Tag, _super); | |
/** | |
* @param {?} res | |
* @return {?} | |
*/ | |
var limit = function(res) { | |
return func(res, 1); | |
}; | |
/** | |
* @param {?} value | |
* @param {number} obj | |
* @return {undefined} | |
*/ | |
var isPlainObject = function(value, obj) { | |
origFindId(value, 1, obj); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var H = function(name) { | |
return ondata(name, 1); | |
}; | |
/** | |
* @param {?} res | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
var cb = function(res, isXML) { | |
return origFindId(res, 4, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var cancelAnimationFrame = function() { | |
var rvar = new Tag; | |
return origFindId(rvar, 13, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Tag.prototype.Vd = function() { | |
return ondata(this, 13); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Tag.prototype.wg = function() { | |
return isArray(this, 13); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var validateCookieName = function(name) { | |
return get_mangled(name, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Tag.prototype.Rd = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Tag.prototype.wr = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @param {number} name | |
* @return {?} | |
*/ | |
var isClassOf = function(name) { | |
return get_mangled(name, 12); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var readCookie = function(name) { | |
return func(name, 9); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Image = function() { | |
_super.apply(this); | |
}; | |
__extends(Image, _super); | |
/** | |
* @return {?} | |
*/ | |
Image.prototype.Ud = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Image.prototype.rb = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
Image.prototype.ca = function(v02) { | |
return origFindId(this, 1, v02); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var LightRaindropAnimation = function() { | |
_super.apply(this); | |
}; | |
__extends(LightRaindropAnimation, _super); | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
LightRaindropAnimation.prototype.Mj = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
LightRaindropAnimation.prototype.Mn = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var snake_case = function(name) { | |
return func(name, 3); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Element = function() { | |
_super.apply(this); | |
}; | |
__extends(Element, _super); | |
/** | |
* @return {?} | |
*/ | |
Element.prototype.getName = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Element.prototype.Td = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Element.prototype.Fd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Child = function() { | |
_super.apply(this); | |
}; | |
__extends(Child, _super); | |
/** | |
* @return {?} | |
*/ | |
Child.prototype.Sf = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Child.prototype.ke = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
Child.prototype.gb = function(opt_attributes) { | |
return origFindId(this, 1, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Child.prototype.Sk = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Statuses = function() { | |
_super.apply(this); | |
}; | |
__extends(Statuses, _super); | |
self = Statuses.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kt = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.El = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Bool = function() { | |
_super.apply(this); | |
}; | |
__extends(Bool, _super); | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var it = function(name) { | |
return func(name, 1); | |
}; | |
self = Bool.prototype; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.Kn = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lg = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.ti = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.Ln = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.Jn = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Parens = function() { | |
_super.apply(this); | |
}; | |
__extends(Parens, _super); | |
self = Parens.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ud = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.rb = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
self.ca = function(v02) { | |
return origFindId(this, 1, v02); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sf = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ke = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.gb = function(opt_attributes) { | |
return origFindId(this, 2, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sk = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var ComposerError = function() { | |
_super.apply(this); | |
}; | |
__extends(ComposerError, _super); | |
self = ComposerError.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Et = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.In = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Dt = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Np = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Hn = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @param {boolean} name | |
* @return {?} | |
*/ | |
self.Cl = function(name) { | |
return origFindId(this, 4, name); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var JoinError = function() { | |
_super.apply(this); | |
}; | |
__extends(JoinError, _super); | |
self = JoinError.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Om = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.Fl = function(opt_attributes) { | |
return origFindId(this, 1, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.lf = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.pc = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {(number|string)} value | |
* @return {?} | |
*/ | |
self.ja = function(value) { | |
return origFindId(this, 2, value); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zh = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @param {?} match | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
var ID = function(match, isXML) { | |
return origFindId(match, 3, isXML); | |
}; | |
/** | |
* @param {?} match | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
var nth = function(match, isXML) { | |
return origFindId(match, 11, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Enemy = function() { | |
_super.apply(this); | |
}; | |
__extends(Enemy, _super); | |
/** | |
* @return {?} | |
*/ | |
Enemy.prototype.lf = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Enemy.prototype.pc = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {(number|string)} value | |
* @return {?} | |
*/ | |
Enemy.prototype.ja = function(value) { | |
return origFindId(this, 1, value); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Enemy.prototype.Zh = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var SrcCell = function() { | |
_super.apply(this); | |
}; | |
__extends(SrcCell, _super); | |
/** | |
* @return {?} | |
*/ | |
SrcCell.prototype.Mm = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
SrcCell.prototype.ze = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
SrcCell.prototype.Lj = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
SrcCell.prototype.Xt = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @param {?} moduleName | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
var makeError = function(moduleName, isXML) { | |
return origFindId(moduleName, 2, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Contact = function() { | |
_super.apply(this); | |
}; | |
__extends(Contact, _super); | |
self = Contact.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ud = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.rb = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
self.ca = function(v02) { | |
return origFindId(this, 1, v02); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var nodeName = function(name) { | |
return func(name, 2); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var setCachedModule = function(name) { | |
return get_mangled(name, 3); | |
}; | |
/** | |
* @param {?} b | |
* @param {?} x | |
* @return {?} | |
*/ | |
var md5_cmn = function(b, x) { | |
return origFindId(b, 3, x); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var _set = function(name) { | |
return func(name, 5); | |
}; | |
/** | |
* @param {?} deepDataAndEvents | |
* @return {?} | |
*/ | |
self.Kj = function(deepDataAndEvents) { | |
return origFindId(this, 5, deepDataAndEvents); | |
}; | |
/** | |
* @param {?} match | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
var CLASS = function(match, isXML) { | |
return origFindId(match, 10, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Mm = function() { | |
return func(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ze = function() { | |
return get_mangled(this, 8); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Lj = function(isXML) { | |
return origFindId(this, 8, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xt = function() { | |
return ondata(this, 8); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var newMatchersClass = function() { | |
_super.apply(this); | |
}; | |
__extends(newMatchersClass, _super); | |
self = newMatchersClass.prototype; | |
/** | |
* @param {number} obj | |
* @return {?} | |
*/ | |
self.Ok = function(obj) { | |
return func(this, 1, obj); | |
}; | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
self.mc = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.bg = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qm = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.li = function() { | |
return member(this, 1); | |
}; | |
isAncestor(msg, { | |
0 : { | |
name : "Image", | |
$ : "proto.section.Image" | |
}, | |
1 : { | |
name : "hash", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "width", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "height", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "mime_type", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Categories, { | |
0 : { | |
name : "Section", | |
$ : "proto.section.Section" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : expectedNumberOfNonCommentArgs, | |
type : suiteView | |
}, | |
2 : { | |
name : "style", | |
c : 14, | |
defaultValue : 0, | |
type : proto | |
}, | |
3 : { | |
name : "section_class", | |
c : 14, | |
defaultValue : deepDataAndEvents, | |
type : gesture | |
}, | |
4 : { | |
name : "parents", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Collection | |
}, | |
5 : { | |
name : "alt_rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "status", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Arr | |
}, | |
7 : { | |
name : "attributes", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Tag | |
}, | |
8 : { | |
name : "content", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Contact | |
}, | |
10 : { | |
name : "content_origin", | |
c : 14, | |
defaultValue : 0, | |
type : expectedType | |
}, | |
9 : { | |
name : "deleted", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "copy_thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
301 : { | |
name : "copy_secret_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
500 : { | |
name : "client_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
600 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
601 : { | |
name : "position", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
605 : { | |
name : "position_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
602 : { | |
name : "created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
603 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
604 : { | |
name : "sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Collection, { | |
0 : { | |
name : "Parents", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.Parents" | |
}, | |
1 : { | |
name : "ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "container_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "container_style", | |
c : 14, | |
defaultValue : 0, | |
type : proto | |
} | |
}); | |
isAncestor(Arr, { | |
0 : { | |
name : "Status", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.Status" | |
}, | |
1 : { | |
name : "author_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "locked_lease", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "author_session", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(Tag, { | |
0 : { | |
name : "Attributes", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.Attributes" | |
}, | |
1 : { | |
name : "indentation", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "checked", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "vertical_margin", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
13 : { | |
name : "default_content", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
NONE : 0, | |
kD : 1, | |
XF : 2 | |
} | |
}, | |
3 : { | |
name : "background_color", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "cell_formatting_options", | |
c : 13, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "cell_format", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Digest | |
}, | |
12 : { | |
name : "cell_background_color", | |
c : 14, | |
defaultValue : 0, | |
type : dataType | |
}, | |
7 : { | |
name : "stored_auto_format", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Digest | |
}, | |
8 : { | |
name : "stored_result", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Cursor | |
}, | |
9 : { | |
name : "stored_formatted_result", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "column_number", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
11 : { | |
name : "list_position", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Image, { | |
0 : { | |
name : "ContentText", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentText" | |
}, | |
1 : { | |
name : "text", | |
c : 9, | |
defaultValue : "", | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(LightRaindropAnimation, { | |
0 : { | |
name : "ContentImage", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentImage" | |
}, | |
1 : { | |
name : "image_float", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
OE : 0, | |
YD : 1, | |
TF : 2 | |
} | |
}, | |
2 : { | |
name : "scale", | |
c : 1, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "original", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : msg | |
}, | |
4 : { | |
name : "sizes", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : msg | |
} | |
}); | |
isAncestor(Element, { | |
0 : { | |
name : "ContentTableBody", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentTableBody" | |
}, | |
1 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Child, { | |
0 : { | |
name : "ContentTableColumn", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentTableColumn" | |
}, | |
1 : { | |
name : "width", | |
c : 2, | |
defaultValue : 8, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Statuses, { | |
0 : { | |
name : "ContentControlPerson", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentControlPerson" | |
}, | |
1 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "mode", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
sF : 0, | |
mF : 1 | |
} | |
} | |
}); | |
isAncestor(Bool, { | |
0 : { | |
name : "ContentControlDocument", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentControlDocument" | |
}, | |
1 : { | |
name : "doc_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "title", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "path_prefix", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "doc_href", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Parens, { | |
0 : { | |
name : "ContentControlTextBox", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentControlTextBox" | |
}, | |
1 : { | |
name : "text", | |
c : 9, | |
defaultValue : "", | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "width", | |
c : 5, | |
defaultValue : 20, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(ComposerError, { | |
0 : { | |
name : "ContentControlHighlight", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentControlHighlight" | |
}, | |
1 : { | |
name : "creator_user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "creator_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "highlight_section_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "hidden", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(JoinError, { | |
0 : { | |
name : "ContentControlAction", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentControlAction" | |
}, | |
1 : { | |
name : "op", | |
c : 14, | |
defaultValue : 10, | |
type : { | |
QE : 10, | |
dG : 11 | |
} | |
}, | |
2 : { | |
name : "style", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
ax : 0, | |
Jw : 1 | |
} | |
}, | |
3 : { | |
name : "title_rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "set_style", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Enemy | |
} | |
}); | |
isAncestor(Enemy, { | |
0 : { | |
name : "SetStyle", | |
/** @type {function (): undefined} */ | |
va : JoinError, | |
$ : "proto.section.Section.ContentControlAction.SetStyle" | |
}, | |
1 : { | |
name : "style", | |
c : 14, | |
defaultValue : 0, | |
type : proto | |
} | |
}); | |
isAncestor(SrcCell, { | |
0 : { | |
name : "ContentFormula", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.ContentFormula" | |
}, | |
1 : { | |
name : "formula", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "user_formula", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Contact, { | |
0 : { | |
name : "Content", | |
/** @type {function (): undefined} */ | |
va : Categories, | |
$ : "proto.section.Section.Content" | |
}, | |
1 : { | |
name : "text", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Image | |
}, | |
2 : { | |
name : "image", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : LightRaindropAnimation | |
}, | |
9 : { | |
name : "table_body", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Element | |
}, | |
3 : { | |
name : "table_column", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Child | |
}, | |
4 : { | |
name : "person", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Statuses | |
}, | |
5 : { | |
name : "document", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Bool | |
}, | |
6 : { | |
name : "textbox", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Parens | |
}, | |
7 : { | |
name : "highlight", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ComposerError | |
}, | |
10 : { | |
name : "action", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : JoinError | |
}, | |
8 : { | |
name : "formula", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : SrcCell | |
} | |
}); | |
isAncestor(newMatchersClass, { | |
0 : { | |
name : "DocumentData", | |
$ : "proto.section.DocumentData" | |
}, | |
1 : { | |
name : "sections", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Categories | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var Certainties = function() { | |
_super.apply(this); | |
}; | |
__extends(Certainties, _super); | |
self = Certainties.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ud = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.rb = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
self.ca = function(v02) { | |
return origFindId(this, 2, v02); | |
}; | |
/** | |
* @param {number} walkers | |
* @return {?} | |
*/ | |
self.Pd = function(walkers) { | |
return func(this, 3, walkers); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.Qd = function(opt_attributes) { | |
return get_mangled(this, 3, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hasAttributes = function() { | |
return ondata(this, 3); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var AssetsPlugin = function() { | |
_super.apply(this); | |
}; | |
__extends(AssetsPlugin, _super); | |
/** | |
* @return {?} | |
*/ | |
AssetsPlugin.prototype.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
AssetsPlugin.prototype.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
AssetsPlugin.prototype.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @param {string} value | |
* @return {?} | |
*/ | |
AssetsPlugin.prototype.af = function(value) { | |
return origFindId(this, 2, value); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var myspan = function() { | |
_super.apply(this); | |
}; | |
__extends(myspan, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var NumberTransition = function() { | |
_super.apply(this); | |
}; | |
__extends(NumberTransition, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var baseEl = function() { | |
_super.apply(this); | |
}; | |
__extends(baseEl, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var me = function() { | |
_super.apply(this); | |
}; | |
__extends(me, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var Switch = function() { | |
_super.apply(this); | |
}; | |
__extends(Switch, _super); | |
self = Switch.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ae = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qt = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Oj = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.lf = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.pc = function() { | |
return get_mangled(this, 5); | |
}; | |
/** | |
* @param {(number|string)} value | |
* @return {?} | |
*/ | |
self.ja = function(value) { | |
return origFindId(this, 5, value); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zh = function() { | |
return ondata(this, 5); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var boundCallback = function() { | |
_super.apply(this); | |
}; | |
__extends(boundCallback, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var rowsFragment = function() { | |
_super.apply(this); | |
}; | |
__extends(rowsFragment, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var program2 = function() { | |
_super.apply(this); | |
}; | |
__extends(program2, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var textPathElement = function() { | |
_super.apply(this); | |
}; | |
__extends(textPathElement, _super); | |
self = textPathElement.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Session = function() { | |
_super.apply(this); | |
}; | |
__extends(Session, _super); | |
/** | |
* @return {?} | |
*/ | |
Session.prototype.lf = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Session.prototype.pc = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {(number|string)} value | |
* @return {?} | |
*/ | |
Session.prototype.ja = function(value) { | |
return origFindId(this, 1, value); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Session.prototype.Zh = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var linkText = function() { | |
_super.apply(this); | |
}; | |
__extends(linkText, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var dropon = function() { | |
_super.apply(this); | |
}; | |
__extends(dropon, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var restoreScript = function() { | |
_super.apply(this); | |
}; | |
__extends(restoreScript, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var progressValues = function() { | |
_super.apply(this); | |
}; | |
__extends(progressValues, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var newMillis = function() { | |
_super.apply(this); | |
}; | |
__extends(newMillis, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var x = function() { | |
_super.apply(this); | |
}; | |
__extends(x, _super); | |
self = x.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ae = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qt = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Oj = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xi = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fn = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Op = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Qv = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Km = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kp = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Lv = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 5); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 5, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var program4 = function() { | |
_super.apply(this); | |
}; | |
__extends(program4, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var newCallback = function() { | |
_super.apply(this); | |
}; | |
__extends(newCallback, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var frag = function() { | |
_super.apply(this); | |
}; | |
__extends(frag, _super); | |
/** | |
* @return {?} | |
*/ | |
frag.prototype.gn = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var In = function() { | |
_super.apply(this); | |
}; | |
__extends(In, _super); | |
self = In.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Rf = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Tb = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rk = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jk = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var onceCallback = function() { | |
_super.apply(this); | |
}; | |
__extends(onceCallback, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var YAMLError = function() { | |
_super.apply(this); | |
}; | |
__extends(YAMLError, _super); | |
/** | |
* @return {?} | |
*/ | |
YAMLError.prototype.gn = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var While = function() { | |
_super.apply(this); | |
}; | |
__extends(While, _super); | |
/** | |
* @return {?} | |
*/ | |
While.prototype.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
While.prototype.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
While.prototype.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
var TEXT_PLAIN = { | |
XA : 0, | |
CE : 1, | |
nB : 2, | |
pE : 3, | |
oE : 4 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var overlayEl = function() { | |
_super.apply(this); | |
}; | |
__extends(overlayEl, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var widget = function() { | |
_super.apply(this); | |
}; | |
__extends(widget, _super); | |
self = widget.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nk = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var where = function() { | |
_super.apply(this); | |
}; | |
__extends(where, _super); | |
isAncestor(Certainties, { | |
0 : { | |
name : "RTMLElement", | |
$ : "proto.threads.RTMLElement" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
ls : 0, | |
Gw : 1, | |
$w : 2, | |
mx : 3, | |
ax : 4, | |
IB : 5, | |
aC : 6, | |
ZB : 7, | |
bC : 8, | |
$B : 12, | |
pH : 9, | |
QC : 10, | |
cC : 11, | |
QA : 13, | |
XG : 14 | |
} | |
}, | |
2 : { | |
name : "text", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "attributes", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : AssetsPlugin | |
}, | |
4 : { | |
name : "child_elements", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(AssetsPlugin, { | |
0 : { | |
name : "Attribute", | |
/** @type {function (): undefined} */ | |
va : Certainties, | |
$ : "proto.threads.RTMLElement.Attribute" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
lD : 0, | |
ID : 1, | |
tB : 2 | |
} | |
}, | |
2 : { | |
name : "value", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(myspan, { | |
0 : { | |
name : "RTMLElements", | |
$ : "proto.threads.RTMLElements" | |
}, | |
1 : { | |
name : "elements", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(NumberTransition, { | |
0 : { | |
name : "RTMLLimits", | |
$ : "proto.threads.RTMLLimits" | |
} | |
}); | |
isAncestor(baseEl, { | |
0 : { | |
name : "DiffGroup", | |
$ : "proto.threads.DiffGroup" | |
}, | |
1 : { | |
name : "count", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : me | |
}, | |
6 : { | |
name : "word_count", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : me | |
}, | |
5 : { | |
name : "diffs", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Switch | |
}, | |
7 : { | |
name : "primary", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
200 : { | |
name : "cached_height", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
201 : { | |
name : "cached_height_for_width", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
202 : { | |
name : "cached_height_for_theme", | |
c : 14, | |
defaultValue : 0, | |
type : TEXT_PLAIN | |
}, | |
203 : { | |
name : "cached_collapsed_height", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(me, { | |
0 : { | |
name : "Count", | |
/** @type {function (): undefined} */ | |
va : baseEl, | |
$ : "proto.threads.DiffGroup.Count" | |
}, | |
1 : { | |
name : "insert", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "total", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "delete", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "equal", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "delta", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Switch, { | |
0 : { | |
name : "Diff", | |
/** @type {function (): undefined} */ | |
va : baseEl, | |
$ : "proto.threads.DiffGroup.Diff" | |
}, | |
1 : { | |
name : "rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "list", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : boundCallback | |
}, | |
3 : { | |
name : "diff_class", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
hH : 0, | |
QB : 1, | |
xD : 2, | |
wD : 3 | |
} | |
}, | |
4 : { | |
name : "section_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "style", | |
c : 14, | |
defaultValue : 0, | |
type : proto | |
}, | |
6 : { | |
name : "table_rows", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : rowsFragment | |
}, | |
200 : { | |
name : "rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
201 : { | |
name : "parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(boundCallback, { | |
0 : { | |
name : "ListItem", | |
/** @type {function (): undefined} */ | |
va : Switch, | |
$ : "proto.threads.DiffGroup.Diff.ListItem" | |
}, | |
1 : { | |
name : "rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "checked", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
3 : { | |
name : "parent", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
200 : { | |
name : "rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
201 : { | |
name : "parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(rowsFragment, { | |
0 : { | |
name : "TableRow", | |
/** @type {function (): undefined} */ | |
va : Switch, | |
$ : "proto.threads.DiffGroup.Diff.TableRow" | |
}, | |
1 : { | |
name : "headers", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : program2 | |
}, | |
2 : { | |
name : "cells", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : program2 | |
}, | |
3 : { | |
name : "rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
200 : { | |
name : "rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
201 : { | |
name : "parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(program2, { | |
0 : { | |
name : "TableCell", | |
/** @type {function (): undefined} */ | |
va : rowsFragment, | |
$ : "proto.threads.DiffGroup.Diff.TableRow.TableCell" | |
}, | |
1 : { | |
name : "rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
200 : { | |
name : "rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
201 : { | |
name : "parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(textPathElement, { | |
0 : { | |
name : "DiffGroups", | |
$ : "proto.threads.DiffGroups" | |
}, | |
1 : { | |
name : "diff_groups", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : baseEl | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Session, { | |
0 : { | |
name : "Paragraph", | |
$ : "proto.threads.Paragraph" | |
}, | |
1 : { | |
name : "style", | |
c : 14, | |
defaultValue : 1, | |
type : { | |
AG : 1, | |
iF : 2, | |
DE : 3, | |
yG : 4 | |
} | |
}, | |
2 : { | |
name : "rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(linkText, { | |
0 : { | |
name : "LinkData", | |
$ : "proto.threads.LinkData" | |
}, | |
1 : { | |
name : "uri", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "facebook_app_link", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : dropon | |
}, | |
3 : { | |
name : "facebook_app_link_resolved", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(dropon, { | |
0 : { | |
name : "FacebookAppLinkData", | |
/** @type {function (): undefined} */ | |
va : linkText, | |
$ : "proto.threads.LinkData.FacebookAppLinkData" | |
}, | |
1 : { | |
name : "ios_url", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "ios_app_store_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "ios_app_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "android_url", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "android_package", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "android_app_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "android_class", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(restoreScript, { | |
0 : { | |
name : "ThreadMemberEnum", | |
$ : "proto.threads.ThreadMemberEnum" | |
} | |
}); | |
isAncestor(progressValues, { | |
0 : { | |
name : "InvitedThreadMemberEnum", | |
$ : "proto.threads.InvitedThreadMemberEnum" | |
} | |
}); | |
isAncestor(newMillis, { | |
0 : { | |
name : "MessageEnum", | |
$ : "proto.threads.MessageEnum" | |
} | |
}); | |
isAncestor(x, { | |
0 : { | |
name : "SectionLock", | |
$ : "proto.threads.SectionLock" | |
}, | |
1 : { | |
name : "section_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "author_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "locked_lease", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "author_session", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(program4, { | |
0 : { | |
name : "SectionLocks", | |
$ : "proto.threads.SectionLocks" | |
}, | |
1 : { | |
name : "locks", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : x | |
} | |
}); | |
isAncestor(newCallback, { | |
0 : { | |
name : "AnnotationMetadata", | |
$ : "proto.threads.AnnotationMetadata" | |
}, | |
1 : { | |
name : "annotation_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "message_count", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(frag, { | |
0 : { | |
name : "AnnotationMetadatas", | |
$ : "proto.threads.AnnotationMetadatas" | |
}, | |
1 : { | |
name : "metadatas", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : newCallback | |
} | |
}); | |
isAncestor(In, { | |
0 : { | |
name : "TableMetadata", | |
$ : "proto.threads.TableMetadata" | |
}, | |
1 : { | |
name : "table_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "position", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "stats", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : onceCallback | |
}, | |
6 : { | |
name : "referenced_table_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(onceCallback, { | |
0 : { | |
name : "Stats", | |
/** @type {function (): undefined} */ | |
va : In, | |
$ : "proto.threads.TableMetadata.Stats" | |
}, | |
1 : { | |
name : "num_live_sections", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "num_deleted_sections", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "num_live_formulas", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(YAMLError, { | |
0 : { | |
name : "TableMetadatas", | |
$ : "proto.threads.TableMetadatas" | |
}, | |
1 : { | |
name : "metadatas", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : In | |
} | |
}); | |
isAncestor(While, { | |
0 : { | |
name : "Theme", | |
$ : "proto.threads.Theme" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : TEXT_PLAIN | |
} | |
}); | |
isAncestor(overlayEl, { | |
0 : { | |
name : "Mentions", | |
$ : "proto.threads.Mentions" | |
}, | |
1 : { | |
name : "user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "document_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "thread_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "names", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : widget | |
} | |
}); | |
isAncestor(widget, { | |
0 : { | |
name : "Name", | |
/** @type {function (): undefined} */ | |
va : overlayEl, | |
$ : "proto.threads.Mentions.Name" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "secret_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(where, { | |
0 : { | |
name : "IntegrationEnum", | |
$ : "proto.threads.IntegrationEnum" | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var report = function() { | |
_super.apply(this); | |
}; | |
__extends(report, _super); | |
self = report.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ud = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.rb = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
self.ca = function(v02) { | |
return origFindId(this, 2, v02); | |
}; | |
var keyType = { | |
jD : 0, | |
EA : 1 | |
}; | |
isAncestor(report, { | |
0 : { | |
name : "Button", | |
$ : "proto.user_requests.Button" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : keyType | |
}, | |
2 : { | |
name : "text", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "completed", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var Model = function() { | |
_super.apply(this); | |
}; | |
__extends(Model, _super); | |
/** | |
* @return {?} | |
*/ | |
Model.prototype.Ae = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Model.prototype.Oj = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var LobbyController = function() { | |
_super.apply(this); | |
}; | |
__extends(LobbyController, _super); | |
self = LobbyController.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ae = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Oj = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rh = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Nn = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Mk = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Hk = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var NPC = function() { | |
_super.apply(this); | |
}; | |
__extends(NPC, _super); | |
self = NPC.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Om = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.Fl = function(opt_attributes) { | |
return origFindId(this, 1, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 2, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.St = function() { | |
return func(this, 21); | |
}; | |
/** @type {number} */ | |
var failuresLink = 11; | |
/** @type {number} */ | |
var progressContexts = 12; | |
var moduleDefs = { | |
hC : 10, | |
hE : failuresLink, | |
gE : progressContexts, | |
qG : 15, | |
pG : 16, | |
xG : 17, | |
sG : 18, | |
mG : 19, | |
nG : 20, | |
kx : 21, | |
uG : 22, | |
oG : 23, | |
aB : 24, | |
Ew : 25, | |
$A : 26, | |
kE : 13, | |
gG : 14, | |
cH : 27 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Bullet = function() { | |
_super.apply(this); | |
}; | |
__extends(Bullet, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var attrName = function() { | |
_super.apply(this); | |
}; | |
__extends(attrName, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var Cell = function() { | |
_super.apply(this); | |
}; | |
__extends(Cell, _super); | |
/** | |
* @return {?} | |
*/ | |
Cell.prototype.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
Cell.prototype.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @param {?} dataAndEvents | |
* @param {?} owner | |
* @return {undefined} | |
*/ | |
var hasData = function(dataAndEvents, owner) { | |
_findBelongsTo(dataAndEvents, 4, owner); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Control = function() { | |
_super.apply(this); | |
}; | |
__extends(Control, _super); | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
Control.prototype.dk = function(owner) { | |
return _findBelongsTo(this, 3, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Control.prototype.Rh = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Control.prototype.Nn = function(isXML) { | |
return origFindId(this, 5, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Document = function() { | |
_super.apply(this); | |
}; | |
__extends(Document, _super); | |
/** | |
* @return {?} | |
*/ | |
Document.prototype.Ft = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Document.prototype.Nv = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
Document.prototype.dk = function(owner) { | |
return _findBelongsTo(this, 3, owner); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Character = function() { | |
_super.apply(this); | |
}; | |
__extends(Character, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var Comment = function() { | |
_super.apply(this); | |
}; | |
__extends(Comment, _super); | |
/** | |
* @return {?} | |
*/ | |
Comment.prototype.Ud = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
Comment.prototype.ca = function(v02) { | |
return origFindId(this, 1, v02); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var GameEvent = function() { | |
_super.apply(this); | |
}; | |
__extends(GameEvent, _super); | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
GameEvent.prototype.dk = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var MappedDepArray = function() { | |
_super.apply(this); | |
}; | |
__extends(MappedDepArray, _super); | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
MappedDepArray.prototype.Vv = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Existence = function() { | |
_super.apply(this); | |
}; | |
__extends(Existence, _super); | |
/** | |
* @return {?} | |
*/ | |
Existence.prototype.Om = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
Existence.prototype.Fl = function(opt_attributes) { | |
return origFindId(this, 1, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Existence.prototype.St = function() { | |
return func(this, 12); | |
}; | |
var DOT_CALL_NO_PARENS = { | |
cG : 10, | |
OF : 11, | |
kx : 12, | |
rG : 13, | |
tG : 14, | |
wG : 15, | |
vG : 16, | |
Ew : 17, | |
ZA : 18, | |
MC : 19, | |
NC : 20 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Obj = function() { | |
_super.apply(this); | |
}; | |
__extends(Obj, _super); | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Obj.prototype.Tv = function(isXML) { | |
return origFindId(this, 9, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Ground = function() { | |
_super.apply(this); | |
}; | |
__extends(Ground, _super); | |
/** | |
* @return {?} | |
*/ | |
Ground.prototype.Ph = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Code = function() { | |
_super.apply(this); | |
}; | |
__extends(Code, _super); | |
/** | |
* @return {?} | |
*/ | |
Code.prototype.Ph = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Code.prototype.Ft = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Code.prototype.Nv = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var container = function() { | |
_super.apply(this); | |
}; | |
__extends(container, _super); | |
/** | |
* @return {?} | |
*/ | |
container.prototype.Ph = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var HMAC_SHA256 = function() { | |
_super.apply(this); | |
}; | |
__extends(HMAC_SHA256, _super); | |
/** | |
* @return {?} | |
*/ | |
HMAC_SHA256.prototype.Ph = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Literal = function() { | |
_super.apply(this); | |
}; | |
__extends(Literal, _super); | |
/** | |
* @return {?} | |
*/ | |
Literal.prototype.Rh = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
Literal.prototype.Nn = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var k = function() { | |
_super.apply(this); | |
}; | |
__extends(k, _super); | |
/** | |
* @return {?} | |
*/ | |
k.prototype.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
k.prototype.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
k.prototype.Da = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
k.prototype.Ia = function(iterator) { | |
return origFindId(this, 2, iterator); | |
}; | |
isAncestor(Model, { | |
0 : { | |
name : "AxisReference", | |
$ : "proto.bridge.AxisReference" | |
}, | |
1 : { | |
name : "section_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "section_position", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "absolute", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(LobbyController, { | |
0 : { | |
name : "CellReference", | |
$ : "proto.bridge.CellReference" | |
}, | |
1 : { | |
name : "section_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "spreadsheet_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "section_type", | |
c : 14, | |
defaultValue : expectedNumberOfNonCommentArgs, | |
type : suiteView | |
}, | |
4 : { | |
name : "row", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Model | |
}, | |
5 : { | |
name : "col", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Model | |
}, | |
6 : { | |
name : "row_label", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "col_label", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(NPC, { | |
0 : { | |
name : "FromJs", | |
$ : "proto.bridge.FromJs" | |
}, | |
1 : { | |
name : "op", | |
c : 14, | |
defaultValue : 10, | |
type : moduleDefs | |
}, | |
2 : { | |
name : "id", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
13 : { | |
name : "local_history_state_change", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Bullet | |
}, | |
14 : { | |
name : "show_settings_menu", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : attrName | |
}, | |
18 : { | |
name : "spreadsheet_focus_did_change", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Control | |
}, | |
19 : { | |
name : "spreadsheet_cell_editor_start", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Document | |
}, | |
21 : { | |
name : "spreadsheet_scroll_to_cell", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Character | |
}, | |
22 : { | |
name : "spreadsheet_insert_text", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Comment | |
}, | |
23 : { | |
name : "spreadsheet_commands_did_change", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : GameEvent | |
}, | |
24 : { | |
name : "autocomplete_show_results", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : MappedDepArray | |
} | |
}); | |
isAncestor(Bullet, { | |
0 : { | |
name : "LocalHistoryStateChange", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.LocalHistoryStateChange" | |
}, | |
1 : { | |
name : "can_undo", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
2 : { | |
name : "can_redo", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(attrName, { | |
0 : { | |
name : "ShowSettingsMenu", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.ShowSettingsMenu" | |
}, | |
1 : { | |
name : "anchor_x", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "anchor_y", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Cell, { | |
0 : { | |
name : "UiCommand", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.UiCommand" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "label", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "flags", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "sub_commands", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Cell | |
} | |
}); | |
isAncestor(Control, { | |
0 : { | |
name : "SpreadsheetFocusDidChange", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.SpreadsheetFocusDidChange" | |
}, | |
1 : { | |
name : "focus_cell_reference", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : LobbyController | |
}, | |
2 : { | |
name : "focus_cell_value", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "commands", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Cell | |
}, | |
4 : { | |
name : "in_ghost_content", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "spreadsheet_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Document, { | |
0 : { | |
name : "SpreadsheetCellEditorStart", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.SpreadsheetCellEditorStart" | |
}, | |
1 : { | |
name : "edit_cell_reference", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : LobbyController | |
}, | |
2 : { | |
name : "edit_cell_value", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "commands", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Cell | |
} | |
}); | |
isAncestor(Character, { | |
0 : { | |
name : "SpreadsheetScrollToCell", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.SpreadsheetScrollToCell" | |
}, | |
3 : { | |
name : "cell_top", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "cell_bottom", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Comment, { | |
0 : { | |
name : "SpreadsheetInsertText", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.SpreadsheetInsertText" | |
}, | |
1 : { | |
name : "text", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(GameEvent, { | |
0 : { | |
name : "SpreadsheetCommandsDidChange", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.SpreadsheetCommandsDidChange" | |
}, | |
1 : { | |
name : "commands", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Cell | |
} | |
}); | |
isAncestor(MappedDepArray, { | |
0 : { | |
name : "AutocompleteShowResults", | |
/** @type {function (): undefined} */ | |
va : NPC, | |
$ : "proto.bridge.FromJs.AutocompleteShowResults" | |
}, | |
1 : { | |
name : "token", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "results", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ValidationError | |
} | |
}); | |
isAncestor(Existence, { | |
0 : { | |
name : "ToJs", | |
$ : "proto.bridge.ToJs" | |
}, | |
1 : { | |
name : "op", | |
c : 14, | |
defaultValue : 10, | |
type : DOT_CALL_NO_PARENS | |
}, | |
10 : { | |
name : "set_environment", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Obj | |
}, | |
12 : { | |
name : "spreadsheet_scroll_to_cell", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Ground | |
}, | |
13 : { | |
name : "spreadsheet_edit_cell_value", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Code | |
}, | |
14 : { | |
name : "spreadsheet_handle_command", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : container | |
}, | |
15 : { | |
name : "spreadsheet_move_cell", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : HMAC_SHA256 | |
}, | |
16 : { | |
name : "spreadsheet_materialize_ghost_content", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Literal | |
}, | |
18 : { | |
name : "autocomplete_did_select_result", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : k | |
} | |
}); | |
isAncestor(Obj, { | |
0 : { | |
name : "SetEnvironment", | |
/** @type {function (): undefined} */ | |
va : Existence, | |
$ : "proto.bridge.ToJs.SetEnvironment" | |
}, | |
1 : { | |
name : "server_web_prefix", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "server_resource_prefix", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "cdn_url", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "bundle_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "build", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "is_tablet_override", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
7 : { | |
name : "screen_size_override", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "default_android_keyboard_package", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "session_token", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "page_y_offset_adjustment", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
11 : { | |
name : "editor_index", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Ground, { | |
0 : { | |
name : "SpreadsheetScrollToCell", | |
/** @type {function (): undefined} */ | |
va : Existence, | |
$ : "proto.bridge.ToJs.SpreadsheetScrollToCell" | |
}, | |
1 : { | |
name : "cell_ref", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : LobbyController | |
} | |
}); | |
isAncestor(Code, { | |
0 : { | |
name : "SpreadsheetEditCellValue", | |
/** @type {function (): undefined} */ | |
va : Existence, | |
$ : "proto.bridge.ToJs.SpreadsheetEditCellValue" | |
}, | |
1 : { | |
name : "cell_ref", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : LobbyController | |
}, | |
2 : { | |
name : "edit_cell_value", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "is_editing", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(container, { | |
0 : { | |
name : "SpreadsheetHandleCommand", | |
/** @type {function (): undefined} */ | |
va : Existence, | |
$ : "proto.bridge.ToJs.SpreadsheetHandleCommand" | |
}, | |
1 : { | |
name : "cell_ref", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : LobbyController | |
}, | |
2 : { | |
name : "command", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "sub_command", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(HMAC_SHA256, { | |
0 : { | |
name : "SpreadsheetMoveCell", | |
/** @type {function (): undefined} */ | |
va : Existence, | |
$ : "proto.bridge.ToJs.SpreadsheetMoveCell" | |
}, | |
1 : { | |
name : "cell_ref", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : LobbyController | |
}, | |
2 : { | |
name : "row_delta", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "col_delta", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Literal, { | |
0 : { | |
name : "SpreadsheetMaterializeGhostContent", | |
/** @type {function (): undefined} */ | |
va : Existence, | |
$ : "proto.bridge.ToJs.SpreadsheetMaterializeGhostContent" | |
}, | |
1 : { | |
name : "spreadsheet_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(k, { | |
0 : { | |
name : "AutocompleteDidSelectResult", | |
/** @type {function (): undefined} */ | |
va : Existence, | |
$ : "proto.bridge.ToJs.AutocompleteDidSelectResult" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 1, | |
type : eventName | |
}, | |
2 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var frame = function() { | |
_super.apply(this); | |
}; | |
__extends(frame, _super); | |
var mimeString = { | |
ME : 0, | |
bx : 1, | |
sE : 2 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var typePattern = function() { | |
_super.apply(this); | |
}; | |
__extends(typePattern, _super); | |
var otherEntity = { | |
jF : 1, | |
rB : 2, | |
vH : 3, | |
bx : 4, | |
UF : 5, | |
sB : 6, | |
cB : 7, | |
dD : 8 | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var iframe = function() { | |
_super.apply(this); | |
}; | |
__extends(iframe, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var textNode = function() { | |
_super.apply(this); | |
}; | |
__extends(textNode, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var responseFrame = function() { | |
_super.apply(this); | |
}; | |
__extends(responseFrame, _super); | |
self = responseFrame.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var that = function() { | |
_super.apply(this); | |
}; | |
__extends(that, _super); | |
self = that.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 2, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Throw = function() { | |
_super.apply(this); | |
}; | |
__extends(Throw, _super); | |
/** | |
* @return {?} | |
*/ | |
Throw.prototype.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Throw.prototype.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
Throw.prototype.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Throw.prototype.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var aList = function() { | |
_super.apply(this); | |
}; | |
__extends(aList, _super); | |
self = aList.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qf = function() { | |
return func(this, 8); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.yr = function(isXML) { | |
return origFindId(this, 8, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Wi = function() { | |
return func(this, 9); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.vr = function(isXML) { | |
return origFindId(this, 9, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var w = function() { | |
_super.apply(this); | |
}; | |
__extends(w, _super); | |
self = w.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Vi = function() { | |
return func(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.ur = function(isXML) { | |
return origFindId(this, 7, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.je = function() { | |
return func(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kg = function() { | |
return get_mangled(this, 8); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.si = function(isXML) { | |
return origFindId(this, 8, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ah = function() { | |
return isArray(this, 8); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var related = function() { | |
_super.apply(this); | |
}; | |
__extends(related, _super); | |
self = related.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 5); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 5, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var editor = function() { | |
_super.apply(this); | |
}; | |
__extends(editor, _super); | |
self = editor.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var GameObject = function() { | |
_super.apply(this); | |
}; | |
__extends(GameObject, _super); | |
self = GameObject.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nk = function() { | |
return get_mangled(this, 106); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lg = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.ti = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xi = function() { | |
return get_mangled(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fn = function(isXML) { | |
return origFindId(this, 7, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ik = function() { | |
return func(this, 10); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var rt = function() { | |
_super.apply(this); | |
}; | |
__extends(rt, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var refNode = function() { | |
_super.apply(this); | |
}; | |
__extends(refNode, _super); | |
self = refNode.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.je = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kg = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.si = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ah = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 7, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 7); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var responseInfoFrame = function() { | |
_super.apply(this); | |
}; | |
__extends(responseInfoFrame, _super); | |
self = responseInfoFrame.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.je = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kg = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.si = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ah = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 7, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Splat = function() { | |
_super.apply(this); | |
}; | |
__extends(Splat, _super); | |
self = Splat.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 6, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.je = function() { | |
return func(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kg = function() { | |
return get_mangled(this, 8); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.si = function(isXML) { | |
return origFindId(this, 8, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ah = function() { | |
return isArray(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xi = function() { | |
return get_mangled(this, 9); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fn = function(isXML) { | |
return origFindId(this, 9, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ud = function() { | |
return func(this, 13); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.rb = function() { | |
return get_mangled(this, 13); | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
self.ca = function(v02) { | |
return origFindId(this, 13, v02); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lg = function() { | |
return func(this, 15); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.ti = function(isXML) { | |
return origFindId(this, 15, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ik = function() { | |
return func(this, 20); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var pathElement = function() { | |
_super.apply(this); | |
}; | |
__extends(pathElement, _super); | |
self = pathElement.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var PathRenderingPlugin = function() { | |
_super.apply(this); | |
}; | |
__extends(PathRenderingPlugin, _super); | |
self = PathRenderingPlugin.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 2, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Jg = function() { | |
return func(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.$i = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qk = function() { | |
return ondata(this, 4); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var inp = function() { | |
_super.apply(this); | |
}; | |
__extends(inp, _super); | |
self = inp.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Jg = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.$i = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qk = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sf = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ke = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.gb = function(opt_attributes) { | |
return origFindId(this, 2, opt_attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Sk = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nm = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.Sa = function(opt_attributes) { | |
return origFindId(this, 3, opt_attributes); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Param = function() { | |
_super.apply(this); | |
}; | |
__extends(Param, _super); | |
self = Param.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Et = function() { | |
return get_mangled(this, 4); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.In = function(isXML) { | |
return origFindId(this, 4, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Dt = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Np = function() { | |
return get_mangled(this, 5); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Hn = function(isXML) { | |
return origFindId(this, 5, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var yearCell = function() { | |
_super.apply(this); | |
}; | |
__extends(yearCell, _super); | |
self = yearCell.prototype; | |
/** | |
* @param {number} obj | |
* @return {?} | |
*/ | |
self.Ok = function(obj) { | |
return func(this, 1, obj); | |
}; | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
self.mc = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.bg = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qm = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.li = function() { | |
return member(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var If = function() { | |
_super.apply(this); | |
}; | |
__extends(If, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var Background = function() { | |
_super.apply(this); | |
}; | |
__extends(Background, _super); | |
self = Background.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.je = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kg = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.si = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ah = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lg = function() { | |
return func(this, 7); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.ti = function(isXML) { | |
return origFindId(this, 7, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Jm = function() { | |
return func(this, 16); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rp = function() { | |
return func(this, 17); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Transform = function() { | |
_super.apply(this); | |
}; | |
__extends(Transform, _super); | |
self = Transform.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.je = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kg = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.si = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ah = function() { | |
return isArray(this, 6); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ik = function() { | |
return func(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rf = function() { | |
return func(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Tb = function() { | |
return get_mangled(this, 8); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.xb = function(isXML) { | |
return origFindId(this, 8, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rk = function() { | |
return ondata(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jk = function() { | |
return isArray(this, 8); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lk = function() { | |
return func(this, 21); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ot = function() { | |
return get_mangled(this, 21); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.zr = function(isXML) { | |
return origFindId(this, 21, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zt = function() { | |
return ondata(this, 21); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 9); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 9); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 9, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.lf = function() { | |
return func(this, 10); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.pc = function() { | |
return get_mangled(this, 10); | |
}; | |
/** | |
* @param {(number|string)} value | |
* @return {?} | |
*/ | |
self.ja = function(value) { | |
return origFindId(this, 10, value); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zh = function() { | |
return ondata(this, 10); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Pt = function() { | |
return func(this, 11); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yc = function() { | |
return get_mangled(this, 11); | |
}; | |
/** | |
* @param {number} deepDataAndEvents | |
* @return {?} | |
*/ | |
self.ri = function(deepDataAndEvents) { | |
return origFindId(this, 11, deepDataAndEvents); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yi = function() { | |
return func(this, 12); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ob = function() { | |
return get_mangled(this, 12); | |
}; | |
/** | |
* @param {?} obj | |
* @return {?} | |
*/ | |
self.Za = function(obj) { | |
return origFindId(this, 12, obj); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Wt = function() { | |
return ondata(this, 12); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ve = function() { | |
return isArray(this, 12); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lp = function() { | |
return get_mangled(this, 25); | |
}; | |
/** | |
* @param {number} deepDataAndEvents | |
* @return {?} | |
*/ | |
self.pi = function(deepDataAndEvents) { | |
return origFindId(this, 25, deepDataAndEvents); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hc = function() { | |
return func(this, 13); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ld = function() { | |
return get_mangled(this, 13); | |
}; | |
/** | |
* @param {Array} recurring | |
* @return {?} | |
*/ | |
self.$a = function(recurring) { | |
return origFindId(this, 13, recurring); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.cb = function() { | |
return ondata(this, 13); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.pm = function() { | |
return isArray(this, 13); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ct = function() { | |
return func(this, 14); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Kv = function(isXML) { | |
return origFindId(this, 14, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qp = function() { | |
return func(this, 15); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Uv = function(isXML) { | |
return origFindId(this, 15, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.cq = function() { | |
return ondata(this, 15); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qm = function() { | |
return isArray(this, 15); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Pd = function() { | |
return func(this, 16); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qd = function() { | |
return get_mangled(this, 16); | |
}; | |
/** | |
* @param {?} listener | |
* @return {?} | |
*/ | |
self.He = function(listener) { | |
return origFindId(this, 16, listener); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hasAttributes = function() { | |
return ondata(this, 16); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lm = function() { | |
return func(this, 23); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Gn = function(isXML) { | |
return origFindId(this, 23, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.aq = function() { | |
return ondata(this, 23); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Mp = function() { | |
return func(this, 24); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.xr = function(isXML) { | |
return origFindId(this, 24, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.$p = function() { | |
return ondata(this, 24); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 17); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 17); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 18); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 18); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Rv = function(isXML) { | |
return origFindId(this, 19, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.om = function() { | |
return isArray(this, 19); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var ref = function() { | |
_super.apply(this); | |
}; | |
__extends(ref, _super); | |
self = ref.prototype; | |
/** | |
* @param {number} obj | |
* @return {?} | |
*/ | |
self.Ok = function(obj) { | |
return func(this, 1, obj); | |
}; | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
self.mc = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.bg = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qm = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.li = function() { | |
return member(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var theScriptTag = function() { | |
_super.apply(this); | |
}; | |
__extends(theScriptTag, _super); | |
self = theScriptTag.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Lg = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @param {(Error|string)} isXML | |
* @return {?} | |
*/ | |
self.ti = function(isXML) { | |
return origFindId(this, 6, isXML); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Cr = function(name) { | |
return origFindId(this, 14, name); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var monthCell = function() { | |
_super.apply(this); | |
}; | |
__extends(monthCell, _super); | |
self = monthCell.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rf = function() { | |
return func(this, 9); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Tb = function() { | |
return get_mangled(this, 9); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.xb = function(isXML) { | |
return origFindId(this, 9, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rk = function() { | |
return ondata(this, 9); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jk = function() { | |
return isArray(this, 9); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var gears = function() { | |
_super.apply(this); | |
}; | |
__extends(gears, _super); | |
self = gears.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 7, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 7); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var pausedElement = function() { | |
_super.apply(this); | |
}; | |
__extends(pausedElement, _super); | |
self = pausedElement.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.getName = function() { | |
return func(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Td = function() { | |
return get_mangled(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Fd = function(isXML) { | |
return origFindId(this, 7, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var target = function() { | |
_super.apply(this); | |
}; | |
__extends(target, _super); | |
self = target.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.md = function() { | |
return func(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jd = function() { | |
return isArray(this, 100); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Xc = function() { | |
return get_mangled(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Id = function() { | |
return isArray(this, 101); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 105); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.yd = function() { | |
return member(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.hd = function() { | |
return isArray(this, 4); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Yd = function() { | |
return member(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.xd = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var JavaScriptLanguage = function() { | |
_super.apply(this); | |
}; | |
__extends(JavaScriptLanguage, _super); | |
/** | |
* @return {?} | |
*/ | |
JavaScriptLanguage.prototype.Be = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
JavaScriptLanguage.prototype.pd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
JavaScriptLanguage.prototype.De = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
JavaScriptLanguage.prototype.Me = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var strong = function() { | |
_super.apply(this); | |
}; | |
__extends(strong, _super); | |
self = strong.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.je = function() { | |
return func(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kg = function() { | |
return get_mangled(this, 5); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.si = function(isXML) { | |
return origFindId(this, 5, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ah = function() { | |
return isArray(this, 5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ik = function() { | |
return func(this, 6); | |
}; | |
/** | |
* @param {boolean} recurring | |
* @return {?} | |
*/ | |
self.Kb = function(recurring) { | |
return origFindId(this, 7, recurring); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Kt = function() { | |
return get_mangled(this, 9); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.El = function(isXML) { | |
return origFindId(this, 9, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var camelKey = function() { | |
_super.apply(this); | |
}; | |
__extends(camelKey, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var specialIEContainer = function() { | |
_super.apply(this); | |
}; | |
__extends(specialIEContainer, _super); | |
self = specialIEContainer.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Be = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.pd = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.De = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Me = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ik = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var child2 = function() { | |
_super.apply(this); | |
}; | |
__extends(child2, _super); | |
self = child2.prototype; | |
/** | |
* @param {number} walkers | |
* @return {?} | |
*/ | |
self.Pp = function(walkers) { | |
return func(this, 21, walkers); | |
}; | |
/** | |
* @param {number} obj | |
* @return {?} | |
*/ | |
self.Ok = function(obj) { | |
return func(this, 7, obj); | |
}; | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
self.mc = function(owner) { | |
return _findBelongsTo(this, 7, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.bg = function() { | |
return deepEqual(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qm = function() { | |
return ondata(this, 7); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.li = function() { | |
return member(this, 7); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.Ar = function(isXML) { | |
return origFindId(this, 18, isXML); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var FutureMessage = function() { | |
_super.apply(this); | |
}; | |
__extends(FutureMessage, _super); | |
/** | |
* @param {?} owner | |
* @return {?} | |
*/ | |
FutureMessage.prototype.vd = function(owner) { | |
return _findBelongsTo(this, 1, owner); | |
}; | |
/** | |
* @return {?} | |
*/ | |
FutureMessage.prototype.Oc = function() { | |
return deepEqual(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
FutureMessage.prototype.Zk = function() { | |
return member(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var closer = function() { | |
_super.apply(this); | |
}; | |
__extends(closer, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var backgroundElement = function() { | |
_super.apply(this); | |
}; | |
__extends(backgroundElement, _super); | |
self = backgroundElement.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Rf = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Tb = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {?} isXML | |
* @return {?} | |
*/ | |
self.xb = function(isXML) { | |
return origFindId(this, 1, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Rk = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.jk = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Da = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Aa = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
self.Ia = function(iterator) { | |
return origFindId(this, 2, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Ab = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Try = function() { | |
_super.apply(this); | |
}; | |
__extends(Try, _super); | |
/** | |
* @return {?} | |
*/ | |
Try.prototype.md = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
Try.prototype.jd = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var _asyncsDone = function() { | |
_super.apply(this); | |
}; | |
__extends(_asyncsDone, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var ResourceTypeError = function() { | |
_super.apply(this); | |
}; | |
__extends(ResourceTypeError, _super); | |
/** | |
* @return {?} | |
*/ | |
ResourceTypeError.prototype.Da = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
ResourceTypeError.prototype.Aa = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {string} iterator | |
* @return {?} | |
*/ | |
ResourceTypeError.prototype.Ia = function(iterator) { | |
return origFindId(this, 1, iterator); | |
}; | |
/** | |
* @return {?} | |
*/ | |
ResourceTypeError.prototype.Ab = function() { | |
return isArray(this, 1); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var scriptElt = function() { | |
_super.apply(this); | |
}; | |
__extends(scriptElt, _super); | |
self = scriptElt.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Ca = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ib = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
self.mb = function(expectedNumberOfNonCommentArgs) { | |
return origFindId(this, 1, expectedNumberOfNonCommentArgs); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 3); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var list_item_value = function() { | |
_super.apply(this); | |
}; | |
__extends(list_item_value, _super); | |
/** | |
* @return {?} | |
*/ | |
list_item_value.prototype.Nc = function() { | |
return get_mangled(this, 6); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var dontCloseTags = function() { | |
_super.apply(this); | |
}; | |
__extends(dontCloseTags, _super); | |
/** | |
* @return {undefined} | |
*/ | |
var h1 = function() { | |
_super.apply(this); | |
}; | |
__extends(h1, _super); | |
self = h1.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.Jg = function() { | |
return func(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.$i = function() { | |
return get_mangled(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qk = function() { | |
return ondata(this, 1); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ic = function() { | |
return func(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ac = function() { | |
return get_mangled(this, 2); | |
}; | |
/** | |
* @param {number} isXML | |
* @return {?} | |
*/ | |
self.Xb = function(isXML) { | |
return origFindId(this, 2, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.qc = function() { | |
return ondata(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Zb = function() { | |
return isArray(this, 2); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.gc = function() { | |
return func(this, 3); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Bb = function() { | |
return get_mangled(this, 3); | |
}; | |
/** | |
* @param {boolean} isXML | |
* @return {?} | |
*/ | |
self.Wb = function(isXML) { | |
return origFindId(this, 3, isXML); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Nc = function() { | |
return get_mangled(this, 4); | |
}; | |
isAncestor(frame, { | |
0 : { | |
name : "MergedState", | |
$ : "syncer.MergedState" | |
} | |
}); | |
isAncestor(typePattern, { | |
0 : { | |
name : "Source", | |
$ : "syncer.Source" | |
} | |
}); | |
isAncestor(iframe, { | |
0 : { | |
name : "UserRequestInfo", | |
$ : "syncer.UserRequestInfo" | |
}, | |
1 : { | |
name : "count", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "message_rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "object_user_requests", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : textNode | |
}, | |
4 : { | |
name : "selected_buttons", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : that | |
}, | |
5 : { | |
name : "access_requests", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Throw | |
}, | |
200 : { | |
name : "message_rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
201 : { | |
name : "message_parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(textNode, { | |
0 : { | |
name : "ObjectUserRequest", | |
/** @type {function (): undefined} */ | |
va : iframe, | |
$ : "syncer.UserRequestInfo.ObjectUserRequest" | |
}, | |
1 : { | |
name : "message_rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "buttons", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : report | |
}, | |
3 : { | |
name : "object_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "user_requests", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : responseFrame | |
}, | |
200 : { | |
name : "message_rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
201 : { | |
name : "message_parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
} | |
}); | |
isAncestor(responseFrame, { | |
0 : { | |
name : "UserRequest", | |
/** @type {function (): undefined} */ | |
va : textNode, | |
$ : "syncer.UserRequestInfo.ObjectUserRequest.UserRequest" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "sender_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "buttons", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : report | |
}, | |
6 : { | |
name : "created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
7 : { | |
name : "display_email", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "display_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(that, { | |
0 : { | |
name : "ButtonSelected", | |
/** @type {function (): undefined} */ | |
va : iframe, | |
$ : "syncer.UserRequestInfo.ButtonSelected" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : keyType | |
} | |
}); | |
isAncestor(Throw, { | |
0 : { | |
name : "AccessRequest", | |
/** @type {function (): undefined} */ | |
va : iframe, | |
$ : "syncer.UserRequestInfo.AccessRequest" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(aList, { | |
0 : { | |
name : "User", | |
$ : "syncer.User" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "first_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "gender", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
nx : 0, | |
LC : 1, | |
mE : 2 | |
} | |
}, | |
8 : { | |
name : "desktop_folder_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "archive_folder_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "employee", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
29 : { | |
name : "robot", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
11 : { | |
name : "push", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
13 : { | |
name : "pictures", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : msg | |
}, | |
14 : { | |
name : "checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
26 : { | |
name : "modal_root_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
17 : { | |
name : "anonymous", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
18 : { | |
name : "pending_unverified_email", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
19 : { | |
name : "dropbox_files", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : SequenceEndEvent | |
}, | |
20 : { | |
name : "dropbox_linked", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
21 : { | |
name : "gdrive_files", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : SequenceEndEvent | |
}, | |
22 : { | |
name : "gdrive_linked", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
23 : { | |
name : "emails", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : bodyElem | |
}, | |
24 : { | |
name : "usage_milestones", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : later | |
}, | |
25 : { | |
name : "user_request_info", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : iframe | |
}, | |
27 : { | |
name : "workgroups", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : related | |
}, | |
28 : { | |
name : "team_promo_domain", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(w, { | |
0 : { | |
name : "Contact", | |
$ : "syncer.Contact" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "affinity", | |
c : 1, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
8 : { | |
name : "thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(related, { | |
0 : { | |
name : "Workgroup", | |
$ : "syncer.Workgroup" | |
}, | |
1 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "domain", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "additional_domains", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "created_by", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "folder_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "disabled", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
14 : { | |
name : "workgroup_security", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(editor, { | |
0 : { | |
name : "Signal", | |
$ : "syncer.Signal" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "message_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "message_sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
8 : { | |
name : "display_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
9 : { | |
name : "message_rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "picture_user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
201 : { | |
name : "message_rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
202 : { | |
name : "message_parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(GameObject, { | |
0 : { | |
name : "Thread", | |
$ : "syncer.Thread" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
106 : { | |
name : "secret_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "title", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "author_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "inbox_position", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
10 : { | |
name : "document_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
20 : { | |
name : "modal_root_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "notification_level", | |
c : 14, | |
defaultValue : 0, | |
type : TYPE_CSS | |
}, | |
13 : { | |
name : "unread_count", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
14 : { | |
name : "personal", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
16 : { | |
name : "seen_message_sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
17 : { | |
name : "inbox_record", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : rt | |
}, | |
18 : { | |
name : "force_root_id_has_checksummed", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
19 : { | |
name : "links", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : linkText | |
}, | |
21 : { | |
name : "link_settings", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Events | |
}, | |
24 : { | |
name : "view_mode", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
22 : { | |
name : "permits", | |
aa : true, | |
c : 14, | |
defaultValue : 0, | |
type : contentType | |
}, | |
23 : { | |
name : "reachable_permits", | |
aa : true, | |
c : 14, | |
defaultValue : 0, | |
type : contentType | |
}, | |
25 : { | |
name : "removed_but_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
26 : { | |
name : "importance_multiplier", | |
c : 2, | |
defaultValue : 1, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
201 : { | |
name : "sending_messages", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
202 : { | |
name : "sending_messages_failed", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
212 : { | |
name : "snippet_section_rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
213 : { | |
name : "snippet_section_parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(rt, { | |
0 : { | |
name : "InboxRecord", | |
/** @type {function (): undefined} */ | |
va : GameObject, | |
$ : "syncer.Thread.InboxRecord" | |
}, | |
1 : { | |
name : "effective_title", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "snippet_picture_user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "snippet_message", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Splat | |
}, | |
4 : { | |
name : "snippet_section", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Transform | |
}, | |
5 : { | |
name : "read_state", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
RE : 0, | |
mH : 1, | |
NF : 2, | |
WF : 3 | |
} | |
}, | |
6 : { | |
name : "new_badge", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
7 : { | |
name : "read_user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "read_by_all", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
9 : { | |
name : "last_activity_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
10 : { | |
name : "group_chat", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(refNode, { | |
0 : { | |
name : "ThreadMember", | |
$ : "syncer.ThreadMember" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "added_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
9 : { | |
name : "seen_message_sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
10 : { | |
name : "level", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
qo : -10, | |
FF : 0, | |
rE : 5, | |
lF : 10, | |
gC : 20 | |
} | |
}, | |
11 : { | |
name : "added_by", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "new_badge", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
13 : { | |
name : "private_folder", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
14 : { | |
name : "notification_level", | |
c : 14, | |
defaultValue : 0, | |
type : TYPE_CSS | |
}, | |
15 : { | |
name : "folder_notification_level", | |
c : 14, | |
defaultValue : 0, | |
type : TYPE_CSS | |
}, | |
16 : { | |
name : "view_mode", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
17 : { | |
name : "robot", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(responseInfoFrame, { | |
0 : { | |
name : "InvitedThreadMember", | |
$ : "syncer.InvitedThreadMember" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "contact_info", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "level", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
qo : -10, | |
js : -5, | |
ex : 0 | |
} | |
}, | |
10 : { | |
name : "email", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "phone", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "suppress_notification", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(Splat, { | |
0 : { | |
name : "Message", | |
$ : "syncer.Message" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
cx : 0, | |
IA : 1, | |
KB : 2, | |
rC : 3, | |
LF : 4, | |
IF : 5, | |
LB : 6, | |
PB : 7, | |
MF : 8, | |
fF : 9, | |
zG : 10, | |
KA : 11, | |
lH : 12, | |
vD : 13, | |
GA : 14, | |
HF : 15, | |
JA : 16, | |
JF : 17 | |
} | |
}, | |
8 : { | |
name : "thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "author_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
10 : { | |
name : "created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
11 : { | |
name : "sent_sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
12 : { | |
name : "via", | |
c : 14, | |
defaultValue : 2, | |
type : chartType | |
}, | |
13 : { | |
name : "text", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
24 : { | |
name : "paragraphs", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Session | |
}, | |
25 : { | |
name : "framing", | |
c : 14, | |
defaultValue : 1, | |
type : { | |
mB : 1, | |
Jw : 2 | |
} | |
}, | |
14 : { | |
name : "user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
15 : { | |
name : "title", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
16 : { | |
name : "diff_groups", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : baseEl | |
}, | |
26 : { | |
name : "apparent_user", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : pathElement | |
}, | |
27 : { | |
name : "hide_profile_picture", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
17 : { | |
name : "files", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : PathRenderingPlugin | |
}, | |
18 : { | |
name : "folder_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
22 : { | |
name : "annotation", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Param | |
}, | |
20 : { | |
name : "document_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
21 : { | |
name : "like_bundle", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : trailingCall | |
}, | |
23 : { | |
name : "mentions", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : overlayEl | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
203 : { | |
name : "rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
204 : { | |
name : "rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
205 : { | |
name : "parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
}, | |
206 : { | |
name : "primary_diff_group", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
207 : { | |
name : "diffs_expanded", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
208 : { | |
name : "saving", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
209 : { | |
name : "failed_to_save", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
210 : { | |
name : "locally_created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
211 : { | |
name : "author_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
213 : { | |
name : "read_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
212 : { | |
name : "annotation_group", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : If | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(pathElement, { | |
0 : { | |
name : "ApparentUser", | |
/** @type {function (): undefined} */ | |
va : Splat, | |
$ : "syncer.Message.ApparentUser" | |
}, | |
1 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "profile_link", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "pictures", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : MappingStartEvent | |
} | |
}); | |
isAncestor(PathRenderingPlugin, { | |
0 : { | |
name : "File", | |
/** @type {function (): undefined} */ | |
va : Splat, | |
$ : "syncer.Message.File" | |
}, | |
1 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "type", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "size", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "hash", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "thumbnail", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : inp | |
}, | |
200 : { | |
name : "icon", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
$C : 0, | |
pD : 1, | |
YA : 2, | |
VIDEO : 3, | |
pF : 4, | |
yF : 5, | |
GB : 6 | |
} | |
}, | |
201 : { | |
name : "display_inline", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(inp, { | |
0 : { | |
name : "Thumbnail", | |
/** @type {function (): undefined} */ | |
va : PathRenderingPlugin, | |
$ : "syncer.Message.File.Thumbnail" | |
}, | |
1 : { | |
name : "hash", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "width", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "height", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(Param, { | |
0 : { | |
name : "Annotation", | |
/** @type {function (): undefined} */ | |
va : Splat, | |
$ : "syncer.Message.Annotation" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "is_last_for_annotation", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
3 : { | |
name : "snippet", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : yearCell | |
}, | |
4 : { | |
name : "creator_user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "creator_name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(yearCell, { | |
0 : { | |
name : "Snippet", | |
/** @type {function (): undefined} */ | |
va : Param, | |
$ : "syncer.Message.Annotation.Snippet" | |
}, | |
1 : { | |
name : "sections", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Transform | |
}, | |
3 : { | |
name : "abbreviated_sections", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Transform | |
}, | |
2 : { | |
name : "is_section_highlight", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(If, { | |
0 : { | |
name : "AnnotationGroup", | |
/** @type {function (): undefined} */ | |
va : Splat, | |
$ : "syncer.Message.AnnotationGroup" | |
}, | |
1 : { | |
name : "other_message_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Background, { | |
0 : { | |
name : "Document", | |
$ : "syncer.Document" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "title", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
9 : { | |
name : "section_locks", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : program4 | |
}, | |
16 : { | |
name : "annotation_metadatas", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : frag | |
}, | |
10 : { | |
name : "import_filename", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "dropbox_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "saving_enabled", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
13 : { | |
name : "gdrive_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
15 : { | |
name : "table_metadatas", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : YAMLError | |
}, | |
17 : { | |
name : "theme", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : While | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(Transform, { | |
0 : { | |
name : "Section", | |
$ : "syncer.Section" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "document_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "position", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
21 : { | |
name : "position_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "type", | |
c : 14, | |
defaultValue : expectedNumberOfNonCommentArgs, | |
type : suiteView | |
}, | |
10 : { | |
name : "style", | |
c : 14, | |
defaultValue : 0, | |
type : proto | |
}, | |
11 : { | |
name : "section_class", | |
c : 14, | |
defaultValue : deepDataAndEvents, | |
type : gesture | |
}, | |
12 : { | |
name : "content", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Contact | |
}, | |
25 : { | |
name : "content_origin", | |
c : 14, | |
defaultValue : 0, | |
type : expectedType | |
}, | |
13 : { | |
name : "parents", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Collection | |
}, | |
14 : { | |
name : "alt_rtml", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
15 : { | |
name : "status", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Arr | |
}, | |
16 : { | |
name : "attributes", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Tag | |
}, | |
22 : { | |
name : "transient", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
23 : { | |
name : "copy_thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
24 : { | |
name : "copy_secret_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
17 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
18 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
19 : { | |
name : "modified", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
20 : { | |
name : "local_sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
202 : { | |
name : "in_checklist", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
203 : { | |
name : "uppercase", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
204 : { | |
name : "is_list_header", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
205 : { | |
name : "font", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
lB : 0, | |
kB : 1, | |
eD : 2, | |
fD : 3, | |
gD : 4, | |
AB : 5 | |
} | |
}, | |
206 : { | |
name : "rtml_hash", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
207 : { | |
name : "parsed_rtml", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Certainties | |
}, | |
208 : { | |
name : "is_table_header", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
209 : { | |
name : "table_col_number", | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
210 : { | |
name : "table_col_width", | |
c : 2, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(ref, { | |
0 : { | |
name : "DocumentData", | |
$ : "syncer.DocumentData" | |
}, | |
1 : { | |
name : "sections", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Transform | |
}, | |
2 : { | |
name : "omitted_deleted_entities", | |
c : 5, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(theScriptTag, { | |
0 : { | |
name : "Folder", | |
$ : "syncer.Folder" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
17 : { | |
name : "inaccessible", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "title", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "folder_type", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
xF : 0, | |
eG : 1 | |
} | |
}, | |
8 : { | |
name : "folder_class", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
STANDARD : 0, | |
VB : 1, | |
RA : 2 | |
} | |
}, | |
9 : { | |
name : "inherit_mode", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
uD : 0, | |
QF : 1 | |
} | |
}, | |
10 : { | |
name : "parent_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "full_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "color", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
nE : 0, | |
hx : 1, | |
dx : 2, | |
Yw : 3, | |
Fw : 4, | |
gx : 5 | |
} | |
}, | |
13 : { | |
name : "creator_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
14 : { | |
name : "workgroup_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
15 : { | |
name : "checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
18 : { | |
name : "modal_root_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
16 : { | |
name : "notification_level", | |
c : 14, | |
defaultValue : 0, | |
type : TYPE_CSS | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
202 : { | |
name : "extended_user_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
203 : { | |
name : "effective_notification_level", | |
c : 14, | |
defaultValue : 0, | |
type : TYPE_CSS | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(monthCell, { | |
0 : { | |
name : "FolderObject", | |
$ : "syncer.FolderObject" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "folder_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "object_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "object_type", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
ns : 0, | |
is : 1 | |
} | |
}, | |
9 : { | |
name : "position", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(gears, { | |
0 : { | |
name : "FolderMember", | |
$ : "syncer.FolderMember" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "folder_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "level", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
qo : -10, | |
qE : 0 | |
} | |
}, | |
9 : { | |
name : "created_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(pausedElement, { | |
0 : { | |
name : "InvitedFolderMember", | |
$ : "syncer.InvitedFolderMember" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "folder_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "name", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
8 : { | |
name : "contact_info", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
9 : { | |
name : "level", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
qo : -10, | |
js : -5, | |
ex : 0 | |
} | |
}, | |
10 : { | |
name : "email", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
11 : { | |
name : "phone", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "suppress_notification", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(target, { | |
0 : { | |
name : "ServiceImport", | |
$ : "syncer.ServiceImport" | |
}, | |
1 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
defaultValue : 0, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
100 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
101 : { | |
name : "merged_state", | |
c : 14, | |
defaultValue : 0, | |
type : mimeString | |
}, | |
102 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
103 : { | |
name : "part_checksum", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
104 : { | |
name : "modality", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
105 : { | |
name : "is_guest", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "dirty", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
5 : { | |
name : "pending", | |
aa : true, | |
c : 5, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
6 : { | |
name : "service", | |
c : 14, | |
defaultValue : 2, | |
type : ScrollContainer | |
}, | |
7 : { | |
name : "import_type", | |
c : 14, | |
defaultValue : 0, | |
type : acceptType | |
}, | |
8 : { | |
name : "contacts", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Call | |
}, | |
9 : { | |
name : "file_metadata", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : SequenceEndEvent | |
}, | |
10 : { | |
name : "existing_contact_emails", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
200 : { | |
name : "resolved", | |
c : 8, | |
defaultValue : 1, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
300 : { | |
name : "source", | |
c : 14, | |
defaultValue : 2, | |
type : otherEntity | |
}, | |
301 : { | |
name : "silent_changes", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(JavaScriptLanguage, { | |
0 : { | |
name : "UserPresence", | |
$ : "syncer.UserPresence" | |
}, | |
1 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "last_active", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "last_active_device", | |
c : 14, | |
defaultValue : 0, | |
type : chartType | |
} | |
}); | |
isAncestor(strong, { | |
0 : { | |
name : "Session", | |
$ : "syncer.Session" | |
}, | |
1 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "session_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "active", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "active2", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
5 : { | |
name : "thread_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "document_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
7 : { | |
name : "editing", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
8 : { | |
name : "focused", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
9 : { | |
name : "mode", | |
c : 14, | |
defaultValue : 0, | |
type : { | |
XB : 0, | |
YG : 1, | |
dC : 2 | |
} | |
}, | |
10 : { | |
name : "device", | |
c : 14, | |
defaultValue : 2, | |
type : chartType | |
}, | |
11 : { | |
name : "now", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
13 : { | |
name : "folder_union", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
12 : { | |
name : "folder_path", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
14 : { | |
name : "transient_sections_packet", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(camelKey, { | |
0 : { | |
name : "PresenceInfo", | |
$ : "syncer.PresenceInfo" | |
}, | |
1 : { | |
name : "online", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
2 : { | |
name : "device", | |
c : 14, | |
defaultValue : 2, | |
type : chartType | |
}, | |
3 : { | |
name : "last_online", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
4 : { | |
name : "editing_doc_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "active_doc_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
6 : { | |
name : "active2_doc_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(specialIEContainer, { | |
0 : { | |
name : "TransientSections", | |
$ : "syncer.TransientSections" | |
}, | |
1 : { | |
name : "user_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "session_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "document_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
4 : { | |
name : "document_data", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ref | |
} | |
}); | |
isAncestor(child2, { | |
0 : { | |
name : "Payload", | |
$ : "syncer.Payload" | |
}, | |
1 : { | |
name : "users", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : aList | |
}, | |
2 : { | |
name : "contacts", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : w | |
}, | |
21 : { | |
name : "signals", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : editor | |
}, | |
3 : { | |
name : "threads", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : GameObject | |
}, | |
4 : { | |
name : "thread_members", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : refNode | |
}, | |
16 : { | |
name : "invited_thread_members", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : responseInfoFrame | |
}, | |
5 : { | |
name : "messages", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Splat | |
}, | |
6 : { | |
name : "documents", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Background | |
}, | |
7 : { | |
name : "sections", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Transform | |
}, | |
8 : { | |
name : "folders", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : theScriptTag | |
}, | |
9 : { | |
name : "folder_objects", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : monthCell | |
}, | |
10 : { | |
name : "folder_members", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : gears | |
}, | |
17 : { | |
name : "invited_folder_members", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : pausedElement | |
}, | |
20 : { | |
name : "service_imports", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : target | |
}, | |
11 : { | |
name : "sessions", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : strong | |
}, | |
12 : { | |
name : "presence_updates", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : JavaScriptLanguage | |
}, | |
19 : { | |
name : "transient_sections", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : specialIEContainer | |
}, | |
18 : { | |
name : "rollout_state", | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : EcoLanguage | |
}, | |
14 : { | |
name : "listen_cursor", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
15 : { | |
name : "min_updated_usec", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(FutureMessage, { | |
0 : { | |
name : "ChangesData", | |
$ : "syncer.ChangesData" | |
}, | |
1 : { | |
name : "ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "indexes", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : closer | |
}, | |
3 : { | |
name : "temp_ids", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : Try | |
} | |
}); | |
isAncestor(closer, { | |
0 : { | |
name : "Index", | |
/** @type {function (): undefined} */ | |
va : FutureMessage, | |
$ : "syncer.ChangesData.Index" | |
}, | |
1 : { | |
name : "index_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
3 : { | |
name : "in_place", | |
c : 8, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
2 : { | |
name : "updated", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : backgroundElement | |
} | |
}); | |
isAncestor(backgroundElement, { | |
0 : { | |
name : "Item", | |
/** @type {function (): undefined} */ | |
va : closer, | |
$ : "syncer.ChangesData.Index.Item" | |
}, | |
1 : { | |
name : "position", | |
c : 13, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(Try, { | |
0 : { | |
name : "TempId", | |
/** @type {function (): undefined} */ | |
va : FutureMessage, | |
$ : "syncer.ChangesData.TempId" | |
}, | |
1 : { | |
name : "temp_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "real_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(_asyncsDone, { | |
0 : { | |
name : "SerializedChecksum", | |
$ : "syncer.SerializedChecksum" | |
}, | |
1 : { | |
name : "thread_checksums", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : list_item_value | |
}, | |
2 : { | |
name : "folder_checksums", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : list_item_value | |
}, | |
3 : { | |
name : "user_checksums", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : list_item_value | |
}, | |
4 : { | |
name : "bad_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
5 : { | |
name : "checksummed_root_ids", | |
aa : true, | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
} | |
}); | |
isAncestor(ResourceTypeError, { | |
0 : { | |
name : "PartChecksum", | |
/** @type {function (): undefined} */ | |
va : _asyncsDone, | |
$ : "syncer.SerializedChecksum.PartChecksum" | |
}, | |
1 : { | |
name : "id", | |
c : 4, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
2 : { | |
name : "checksum", | |
c : 4, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(scriptElt, { | |
0 : { | |
name : "GroupChecksum", | |
/** @type {function (): undefined} */ | |
va : _asyncsDone, | |
$ : "syncer.SerializedChecksum.GroupChecksum" | |
}, | |
1 : { | |
name : "type", | |
c : 14, | |
defaultValue : 0, | |
type : paramType | |
}, | |
2 : { | |
name : "checksum", | |
c : 4, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "sequence", | |
c : 4, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
} | |
}); | |
isAncestor(list_item_value, { | |
0 : { | |
name : "RootChecksum", | |
/** @type {function (): undefined} */ | |
va : _asyncsDone, | |
$ : "syncer.SerializedChecksum.RootChecksum" | |
}, | |
1 : { | |
name : "root_id", | |
c : 9, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "checksum", | |
c : 4, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "part_checksums", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : ResourceTypeError | |
}, | |
4 : { | |
name : "group_checksums", | |
aa : true, | |
c : 11, | |
/** @type {function (): undefined} */ | |
type : scriptElt | |
}, | |
5 : { | |
name : "root_only", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
6 : { | |
name : "is_guest", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
isAncestor(dontCloseTags, { | |
0 : { | |
name : "UpdateStatus", | |
$ : "syncer.UpdateStatus" | |
} | |
}); | |
isAncestor(h1, { | |
0 : { | |
name : "ChecksumValue", | |
$ : "syncer.ChecksumValue" | |
}, | |
1 : { | |
name : "hash", | |
c : 6, | |
/** @type {function (new:String, *=): string} */ | |
type : String | |
}, | |
2 : { | |
name : "sequence", | |
c : 3, | |
/** @type {function (new:Number, *=): number} */ | |
type : Number | |
}, | |
3 : { | |
name : "deleted", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
}, | |
4 : { | |
name : "is_guest", | |
c : 8, | |
defaultValue : 0, | |
/** @type {function (new:Boolean, *=): boolean} */ | |
type : Boolean | |
} | |
}); | |
/** | |
* @param {(Object|number)} storage | |
* @param {?} val | |
* @param {Function} v | |
* @return {?} | |
*/ | |
var validator = function(storage, val, v) { | |
return restoreMarkdownConf(storage, val, v, function(property) { | |
return storage[property]; | |
}); | |
}; | |
/** | |
* @param {Array} req | |
* @param {number} x | |
* @return {?} | |
*/ | |
var value = function(req, x) { | |
return-1 != index(req, x); | |
}; | |
/** | |
* @param {Object} value | |
* @return {?} | |
*/ | |
var toPaddedString = function(value) { | |
return value.slice(0); | |
}; | |
/** | |
* @param {(Array|string)} x | |
* @param {Array} y | |
* @return {?} | |
*/ | |
var sortFunction = function(x, y) { | |
if (x.length != y.length) { | |
return false; | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < x.length;i++) { | |
if (x[i] !== y[i]) { | |
return false; | |
} | |
} | |
return true; | |
}; | |
/** | |
* @param {?} value | |
* @param {?} c | |
* @return {undefined} | |
*/ | |
var toggleClass = function(value, c) { | |
value.push.apply(value, c); | |
}; | |
/** | |
* @param {Array} array | |
* @param {Function} callback | |
* @return {?} | |
*/ | |
var uniq = function(array, callback) { | |
if (Array.prototype.filter && array.filter) { | |
return array.filter(callback); | |
} | |
/** @type {Array} */ | |
var result = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < array.length;i++) { | |
if (callback(array[i], i, array)) { | |
result.push(array[i]); | |
} | |
} | |
return result; | |
}; | |
/** | |
* @param {Array} array | |
* @param {Function} callback | |
* @return {?} | |
*/ | |
var arraySome = function(array, callback) { | |
if (Array.prototype.some && array.some) { | |
return array.some(callback); | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < array.length;i++) { | |
if (callback(array[i], i, array)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {?} a | |
* @return {?} | |
*/ | |
var Fay = function(a) { | |
/** @type {Array} */ | |
var newArgs = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < a.length;++i) { | |
var tmp = a[i]; | |
if (tmp instanceof Array) { | |
newArgs.push.apply(newArgs, Fay(tmp)); | |
} else { | |
newArgs.push(tmp); | |
} | |
} | |
return newArgs; | |
}; | |
/** | |
* @param {Array} obj | |
* @param {?} name | |
* @return {?} | |
*/ | |
var index = function(obj, name) { | |
if (Array.prototype.indexOf && obj.indexOf) { | |
return obj.indexOf(name); | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < obj.length;i++) { | |
if (obj[i] == name) { | |
return i; | |
} | |
} | |
return-1; | |
}; | |
/** | |
* @param {Array} arr | |
* @return {?} | |
*/ | |
var _map = function(arr) { | |
/** @type {function (?): ?} */ | |
var fn = isButton; | |
if (Array.prototype.map && arr.map) { | |
return arr.map(fn); | |
} | |
/** @type {Array} */ | |
var ret = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < arr.length;i++) { | |
ret.push(fn(arr[i])); | |
} | |
return ret; | |
}; | |
/** | |
* @param {Array} obj | |
* @param {Function} iterator | |
* @return {undefined} | |
*/ | |
var sortedIndex = function(obj, iterator) { | |
if (Array.prototype.forEach && obj.forEach) { | |
obj.forEach(iterator); | |
} else { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < obj.length;i++) { | |
iterator(obj[i], i, obj); | |
} | |
} | |
}; | |
/** | |
* @param {Array} path | |
* @param {number} index | |
* @param {Function} callback | |
* @return {?} | |
*/ | |
var loadImage = function(path, index, callback) { | |
callback = callback || function() { | |
return true; | |
}; | |
/** @type {number} */ | |
index = Math.max(index + 1, 0); | |
for (;index <= path.length - 1 && !callback(path[index]);++index) { | |
} | |
return index <= path.length - 1 ? index : -1; | |
}; | |
/** | |
* @param {Array} arr | |
* @param {number} i | |
* @param {Function} fn | |
* @return {?} | |
*/ | |
var invoke = function(arr, i, fn) { | |
fn = fn || function() { | |
return true; | |
}; | |
/** @type {number} */ | |
i = Math.min(i - 1, arr.length - 1); | |
for (;0 <= i && !fn(arr[i]);--i) { | |
} | |
return 0 <= i ? i : -1; | |
}; | |
/** | |
* @param {Array} arr | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
var removeAll = function(arr, name) { | |
var i = index(arr, name); | |
if (-1 != i) { | |
arr.splice(i, 1); | |
} | |
}; | |
/** | |
* @param {Array} items | |
* @param {number} i | |
* @param {Function} iterator | |
* @return {?} | |
*/ | |
var arrayRemove = function(items, i, iterator) { | |
if (0 == i) { | |
return[]; | |
} | |
/** @type {Array} */ | |
var arr = []; | |
/** @type {number} */ | |
var index = 0; | |
for (;index < items.length;index++) { | |
var item = items[index]; | |
if (arr.length < i) { | |
arr.push(item); | |
arr.sort(iterator); | |
} else { | |
if (0 < iterator(arr[i - 1], item)) { | |
arr.pop(); | |
arr.push(item); | |
arr.sort(iterator); | |
} | |
} | |
} | |
return arr; | |
}; | |
/** | |
* @param {Array} names | |
* @return {?} | |
*/ | |
var resolveModule = function(names) { | |
var arr2 = {}; | |
/** @type {Array} */ | |
var assigns = []; | |
/** @type {number} */ | |
var ii = 0; | |
for (;ii < names.length;ii++) { | |
var vvar = names[ii]; | |
var i = exec(void 0) ? (void 0)(vvar, ii, names) : vvar; | |
if (!(i in arr2)) { | |
assigns.push(vvar); | |
/** @type {number} */ | |
arr2[i] = 1; | |
} | |
} | |
return assigns; | |
}; | |
/** | |
* @param {string} reason | |
* @return {?} | |
*/ | |
var reject = function(reason) { | |
var wkw = {}; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < arguments.length;i++) { | |
/** @type {number} */ | |
wkw[arguments[i]] = 1; | |
} | |
return wkw; | |
}; | |
/** | |
* @param {?} object | |
* @return {?} | |
*/ | |
var puts = function(object) { | |
var old = {}; | |
var name; | |
for (name in object) { | |
old[name] = object[name]; | |
} | |
return old; | |
}; | |
/** | |
* @param {?} obj | |
* @param {?} object | |
* @return {?} | |
*/ | |
var isObject = function(obj, object) { | |
if (typeof obj != typeof object) { | |
return false; | |
} | |
if ("object" != typeof obj) { | |
return obj === object; | |
} | |
if (obj instanceof Array) { | |
if (!(object instanceof Array) || obj.length != object.length) { | |
return false; | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < obj.length;i++) { | |
if (!isObject(obj[i], object[i])) { | |
return false; | |
} | |
} | |
return true; | |
} | |
/** @type {number} */ | |
i = 0; | |
var key; | |
for (key in obj) { | |
if (i++, !(key in object && isObject(obj[key], object[key]))) { | |
return false; | |
} | |
} | |
/** @type {number} */ | |
var last = 0; | |
for (key in object) { | |
if (!(key in obj)) { | |
return false; | |
} | |
last++; | |
} | |
return i == last; | |
}; | |
/** | |
* @param {Object} id | |
* @return {?} | |
*/ | |
var scriptLoaded = function(id) { | |
var name; | |
for (name in id) { | |
return false; | |
} | |
return true; | |
}; | |
/** | |
* @param {?} startOrEnd | |
* @return {?} | |
*/ | |
var range = function(startOrEnd) { | |
/** @type {Array} */ | |
var result = []; | |
var optgroup; | |
for (optgroup in startOrEnd) { | |
result.push(Number(optgroup)); | |
} | |
return result; | |
}; | |
/** | |
* @param {Object} k | |
* @return {?} | |
*/ | |
var setVal = function(k) { | |
/** @type {Array} */ | |
var r = []; | |
var i; | |
for (i in k) { | |
r.push(k[i]); | |
} | |
return r; | |
}; | |
/** | |
* @param {?} obj | |
* @return {?} | |
*/ | |
var transpose = function(obj) { | |
/** @type {number} */ | |
var transposed = 0; | |
var prop; | |
for (prop in obj) { | |
transposed++; | |
} | |
return transposed; | |
}; | |
/** @type {RegExp} */ | |
var unescaper = /\u00A0/g; | |
/** @type {RegExp} */ | |
var rclass = /\u200b/g; | |
/** @type {RegExp} */ | |
var rAt = /\ufeff/g; | |
/** | |
* @param {string} target | |
* @param {string} x | |
* @return {?} | |
*/ | |
var compute = function(target, x) { | |
/** @type {number} */ | |
var id = target.length - x.length; | |
return 0 <= id && target.indexOf(x, id) == id; | |
}; | |
/** @type {RegExp} */ | |
var cjsRequireRegExp = /([.*+?^=!:${}()|\[\]\/\\])/g; | |
/** @type {RegExp} */ | |
var rhtml = /[&<>]/; | |
/** @type {RegExp} */ | |
var reVar = /\&/g; | |
/** @type {RegExp} */ | |
var TB = /\</g; | |
/** @type {RegExp} */ | |
var badChars = /\>/g; | |
/** | |
* @param {string} template | |
* @return {?} | |
*/ | |
var tmpl = function(template) { | |
if (!rhtml.test(template)) { | |
return template; | |
} | |
if (-1 != template.indexOf("&")) { | |
template = template.replace(reVar, "&"); | |
} | |
if (-1 != template.indexOf("<")) { | |
template = template.replace(TB, "<"); | |
} | |
if (-1 != template.indexOf(">")) { | |
template = template.replace(badChars, ">"); | |
} | |
return template; | |
}; | |
/** | |
* @param {string} text | |
* @return {?} | |
*/ | |
var changeDelimiters = function(text) { | |
return Boolean(text && (5 <= text.length && (128 >= text.length && (-1 != text.indexOf("@") && (-1 != text.indexOf(".") && -1 == text.trim().indexOf(" ")))))); | |
}; | |
/** | |
* @param {string} str | |
* @return {?} | |
*/ | |
var truncate = function(str) { | |
str = str.trim().replace(rclass, "").replace(rAt, ""); | |
return 0 == str.length; | |
}; | |
/** | |
* @param {string} code | |
* @return {?} | |
*/ | |
var unescape = function(code) { | |
code = code.replace(unescaper, " "); | |
code = code.replace(rclass, ""); | |
return code = code.replace(rAt, ""); | |
}; | |
/** | |
* @param {string} str | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
var template = function(str, opt_attributes) { | |
return Array(opt_attributes + 1).join(str); | |
}; | |
/** | |
* @param {string} array | |
* @param {string} obj | |
* @return {?} | |
*/ | |
var extend = function(array, obj) { | |
return 0 == array.lastIndexOf(obj, 0); | |
}; | |
/** | |
* @param {RegExp} res | |
* @param {Range} value | |
* @return {?} | |
*/ | |
var isMatch = function(res, value) { | |
var values = res.exec(value); | |
return null != values && (0 < values.length && values[0] == value); | |
}; | |
var gcd; | |
var paint; | |
/** | |
* @param {Function} callback | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
var push = function(callback, opt_attributes) { | |
return Zg ? 0 : window.setTimeout(function() { | |
try { | |
callback(); | |
} catch (e) { | |
throw logError(e), e; | |
} | |
}, opt_attributes); | |
}; | |
/** | |
* @param {?} timer | |
* @return {undefined} | |
*/ | |
var protectedClearTimeout = function(timer) { | |
window.clearTimeout(timer); | |
}; | |
/** | |
* @param {Function} type | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
var createDom = function(type, opt_attributes) { | |
return Zg ? 0 : window.setInterval(function() { | |
try { | |
type(); | |
} catch (e) { | |
throw logError(e), e; | |
} | |
}, opt_attributes); | |
}; | |
/** @type {boolean} */ | |
var Zg = false; | |
/** | |
* @param {Function} callback | |
* @return {?} | |
*/ | |
var finish = function(callback) { | |
return push(callback, 0); | |
}; | |
/** | |
* @param {?} id | |
* @return {undefined} | |
*/ | |
var getById = function(id) { | |
protectedClearTimeout(id); | |
}; | |
if (window.msSetImmediate) { | |
finish = bind(window.msSetImmediate, window); | |
getById = bind(window.msClearImmediate, window); | |
} else { | |
if (window.postMessage) { | |
(function() { | |
var done = {}; | |
/** @type {boolean} */ | |
var b = false; | |
/** @type {number} */ | |
var rightId = 0; | |
/** @type {boolean} */ | |
var d = false; | |
/** | |
* @param {Function} callback | |
* @return {?} | |
*/ | |
finish = function(callback) { | |
if (!d) { | |
addEvent(window, "message", function(data) { | |
if (data.data && "setImmediate" == data.data.action) { | |
data = done; | |
done = {}; | |
/** @type {boolean} */ | |
b = false; | |
var declarationError; | |
var key; | |
for (key in data) { | |
var label = data[key]; | |
if (label) { | |
try { | |
label(); | |
} catch (e) { | |
logError(e); | |
declarationError = e; | |
} | |
} | |
} | |
if (declarationError) { | |
throw declarationError; | |
} | |
} | |
}); | |
/** @type {boolean} */ | |
d = true; | |
} | |
/** @type {number} */ | |
var id = rightId++; | |
/** @type {Function} */ | |
done[id] = callback; | |
if (!b) { | |
/** @type {boolean} */ | |
b = true; | |
window.postMessage({ | |
action : "setImmediate" | |
}, location.href); | |
} | |
return id; | |
}; | |
/** | |
* @param {?} id | |
* @return {undefined} | |
*/ | |
getById = function(id) { | |
/** @type {null} */ | |
done[id] = null; | |
}; | |
})(); | |
} | |
} | |
/** @type {Array} */ | |
var common = []; | |
(function() { | |
/** @type {function (this:Window, function (number): ?, (Element|null)=): number} */ | |
var elements = window.requestAnimationFrame || (window.webkitRequestAnimationFrame || (window.mozRequestAnimationFrame || (window.msRequestAnimationFrame || window.oRequestAnimationFrame))); | |
gcd = elements ? bind(elements, window) : function($sanitize) { | |
return push(function() { | |
$sanitize(resetQueues()); | |
}, 16); | |
}; | |
})(); | |
/** | |
* @param {Function} callback | |
* @return {undefined} | |
*/ | |
var synchronize = function(callback) { | |
if (!common.length) { | |
gcd(function(cm) { | |
var codeSegments = toPaddedString(common); | |
/** @type {Array} */ | |
common = []; | |
var declarationError; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
try { | |
codeSegments[i](cm); | |
} catch (e) { | |
logError(e); | |
declarationError = e; | |
} | |
} | |
if (declarationError) { | |
throw declarationError; | |
} | |
}); | |
} | |
common.push(callback); | |
}; | |
/** | |
* @param {Function} exec | |
* @param {number} opt_attributes | |
* @return {undefined} | |
*/ | |
var asyncHandler = function(exec, opt_attributes) { | |
/** | |
* @return {undefined} | |
*/ | |
function restoreScript() { | |
if (!d) { | |
/** @type {boolean} */ | |
d = true; | |
protectedClearTimeout(id); | |
exec(); | |
} | |
} | |
/** @type {boolean} */ | |
var d = false; | |
var id = push(restoreScript, opt_attributes); | |
synchronize(restoreScript); | |
}; | |
/** @type {Array} */ | |
var visited = []; | |
/** | |
* @return {undefined} | |
*/ | |
var updateProgress = function() { | |
var codeSegments = toPaddedString(visited); | |
/** @type {Array} */ | |
visited = []; | |
var declarationError; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
try { | |
codeSegments[i](); | |
} catch (e) { | |
logError(e); | |
declarationError = e; | |
} | |
} | |
if (declarationError) { | |
throw declarationError; | |
} | |
}; | |
(function() { | |
var instance = window.MutationObserver || window.WebKitMutationObserver; | |
if (instance) { | |
/** @type {MutationObserver} */ | |
instance = new instance(updateProgress); | |
/** @type {Element} */ | |
var container = document.createElement("input"); | |
instance.observe(container, { | |
attributes : true | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
paint = function() { | |
/** @type {boolean} */ | |
container.hidden = !container.hidden; | |
}; | |
} else { | |
/** | |
* @return {undefined} | |
*/ | |
paint = function() { | |
finish(updateProgress); | |
}; | |
} | |
})(); | |
/** | |
* @param {Function} obj | |
* @return {?} | |
*/ | |
var fold = function(obj) { | |
if (!visited.length) { | |
paint(); | |
} | |
var init = visited.length; | |
visited.push(obj); | |
return init; | |
}; | |
/** | |
* @param {Function} callback | |
* @return {?} | |
*/ | |
var crop = function(callback) { | |
return delay(callback, function(done) { | |
return finish(done, true); | |
}); | |
}; | |
/** | |
* @param {Function} callback | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
var callLater = function(callback, opt_attributes) { | |
return delay(callback, function(next_callback) { | |
return push(next_callback, opt_attributes); | |
}); | |
}; | |
/** | |
* @param {Function} func | |
* @param {Function} definition | |
* @return {?} | |
*/ | |
var delay = function(func, definition) { | |
return function() { | |
var context = this; | |
if (!("loop.js.deferredWrapper" in context)) { | |
/** @type {Array.<?>} */ | |
var args = Array.prototype.slice.call(arguments, 0); | |
context["loop.js.deferredWrapper"] = definition(function() { | |
delete context["loop.js.deferredWrapper"]; | |
func.apply(context, args); | |
}); | |
} | |
}; | |
}; | |
/** @type {Array} */ | |
var primes = []; | |
var obj = {}; | |
/** | |
* @param {string} type | |
* @param {string} name | |
* @param {Function} state | |
* @return {undefined} | |
*/ | |
var $ = function(type, name, state) { | |
if (!(type in obj)) { | |
enableSaving(type); | |
} | |
/** @type {Function} */ | |
obj[type][name] = state; | |
}; | |
/** | |
* @param {Function} n | |
* @return {undefined} | |
*/ | |
var attempt = function(n) { | |
primes.push(n); | |
}; | |
/** | |
* @param {string} message | |
* @return {?} | |
*/ | |
var eventCapture = function(message) { | |
return "blur" == message || ("focus" == message || ("scroll" == message || "error" == message)); | |
}; | |
/** | |
* @param {Object} object | |
* @param {string} type | |
* @param {Function} target | |
* @return {?} | |
*/ | |
var addEvent = function(object, type, target) { | |
type = "transitionend" == type && (attrs && extend(attrs, "webkit")) ? "webkitTransitionEnd" : type; | |
/** @type {boolean} */ | |
var d = "click" != type; | |
var handler; | |
if (object.addEventListener) { | |
var phase = eventCapture(type); | |
/** | |
* @param {?} listener | |
* @return {undefined} | |
*/ | |
handler = function(listener) { | |
if (!inPseudo || !d) { | |
try { | |
target.call(this, listener); | |
} catch (e) { | |
throw logError(e), e; | |
} | |
} | |
}; | |
object.addEventListener(type, handler, phase); | |
} else { | |
/** | |
* @param {Object} e | |
* @return {undefined} | |
*/ | |
handler = function(e) { | |
if (!inPseudo || "click" == type) { | |
e = e || window.event; | |
e.target = e.srcElement || window.document; | |
try { | |
target.call(e.target, e); | |
} catch (ex) { | |
throw logError(ex), ex; | |
} | |
} | |
}; | |
object.attachEvent("on" + type, handler); | |
} | |
return{ | |
tt : object, | |
Hm : type, | |
/** @type {function (?): undefined} */ | |
Zp : handler | |
}; | |
}; | |
/** | |
* @param {?} event | |
* @return {undefined} | |
*/ | |
var removeListener = function(event) { | |
var element = event.tt; | |
if (element) { | |
if (element.removeEventListener) { | |
element.removeEventListener(event.Hm, event.Zp, eventCapture(event.Hm)); | |
} else { | |
element.detachEvent("on" + event.Hm, event.Zp); | |
} | |
delete event.tt; | |
delete event.Zp; | |
} else { | |
console.warn("Ignoring events.removeListener call for already-removed " + event.Hm + " handler"); | |
} | |
}; | |
/** | |
* @param {Object} target | |
* @param {string} type | |
* @param {Function} listener | |
* @return {?} | |
*/ | |
var addListener = function(target, type, listener) { | |
var node = addEvent(target, type, function(event) { | |
removeListener(node); | |
listener.call(this, event); | |
}); | |
return node; | |
}; | |
/** | |
* @param {Object} nativeEvent | |
* @return {undefined} | |
*/ | |
var stopEvent = function(nativeEvent) { | |
if (nativeEvent.preventDefault) { | |
nativeEvent.preventDefault(); | |
} else { | |
/** @type {boolean} */ | |
nativeEvent.returnValue = false; | |
} | |
}; | |
/** | |
* @param {Object} event | |
* @return {undefined} | |
*/ | |
var cancelEvent = function(event) { | |
if (event.stopPropagation) { | |
event.stopPropagation(); | |
} else { | |
/** @type {boolean} */ | |
event.cancelBubble = true; | |
} | |
/** @type {boolean} */ | |
event["events.js.stopPropagation"] = true; | |
}; | |
/** | |
* @param {Object} e | |
* @return {?} | |
*/ | |
var fixEvent = function(e) { | |
return e.charCode ? String.fromCharCode(e.charCode) : ""; | |
}; | |
/** @type {null} */ | |
var _d = null; | |
/** | |
* @param {string} type | |
* @return {undefined} | |
*/ | |
var enableSaving = function(type) { | |
obj[type] = {}; | |
if ("submit" != type || "onsubmit" in window.document.body) { | |
addEvent(window.document.body, type, function(event) { | |
var element = event.target; | |
for (;element;element = element.parentNode) { | |
if (element.nodeType == ELEMENT_NODE) { | |
var key = element.getAttribute("data-" + type); | |
if (key) { | |
var fn = obj[type][key]; | |
if (fn) { | |
var self = new klass([element]); | |
_d = { | |
target : self, | |
qy : type, | |
Ky : key | |
}; | |
key = fn.call(self, event); | |
/** @type {null} */ | |
_d = null; | |
if (!key) { | |
stopEvent(event); | |
break; | |
} | |
if (event["events.js.stopPropagation"]) { | |
break; | |
} | |
} | |
} | |
} | |
} | |
}); | |
} else { | |
registerEvents(); | |
} | |
}; | |
/** @type {boolean} */ | |
var inPseudo = false; | |
/** | |
* @return {undefined} | |
*/ | |
var registerEvents = function() { | |
addEvent(window.document.body, "focusin", function(oEvent) { | |
if ("INPUT" == oEvent.target.tagName || "TEXTAREA" == oEvent.target.tagName) { | |
var element = jQuery(oEvent.target).parent("form"); | |
if (attr(element, "submit")) { | |
if (!attr(element, "iesubmit")) { | |
element.setData("iesubmit", "true"); | |
element.addListener("submit", function(e) { | |
var method = element.data("submit"); | |
if (method = obj.submit[method]) { | |
if (!method.call(new klass([e.target]), e)) { | |
/** @type {boolean} */ | |
e.returnValue = false; | |
} | |
} | |
}); | |
} | |
} | |
} | |
}); | |
}; | |
/** @type {number} */ | |
var touchend = 8; | |
var keys = { | |
eB : touchend, | |
CG : 9, | |
RF : 13, | |
fG : 16, | |
xC : 27, | |
jG : 32, | |
TA : 37, | |
VA : 38, | |
UA : 39, | |
SA : 40, | |
NB : 46, | |
A : 65, | |
bB : 66, | |
Iw : 67, | |
D : 68, | |
E : 69, | |
yC : 70, | |
ZC : 71, | |
H : 72, | |
Zw : 73, | |
GD : 74, | |
LD : 75, | |
ks : 76, | |
M : 77, | |
GE : 78, | |
bF : 79, | |
hF : 80, | |
zF : 81, | |
BF : 82, | |
S : 83, | |
BG : 84, | |
kH : 85, | |
ox : 86, | |
W : 87, | |
X : 88, | |
EH : 89, | |
Z : 90, | |
MD : 48, | |
ND : 49, | |
OD : 50, | |
PD : 51, | |
QD : 52, | |
RD : 53, | |
SD : 54, | |
UD : 55, | |
VD : 56, | |
WD : 57, | |
SE : 96, | |
TE : 97, | |
UE : 98, | |
VE : 99, | |
WE : 100, | |
XE : 101, | |
YE : 102, | |
ZE : 103, | |
$E : 104, | |
aF : 105, | |
Kw : 188, | |
rF : 190, | |
XC : 191, | |
YC : 192, | |
XD : 219, | |
fB : 220, | |
SF : 221, | |
iG : 222, | |
aG : 186, | |
wC : 187, | |
nD : 189, | |
$F : 59, | |
vC : 107, | |
mD : 109, | |
zC : 112, | |
DC : 113, | |
EC : 114, | |
FC : 115, | |
GC : 116, | |
HC : 117, | |
IC : 118, | |
JC : 119, | |
KC : 120, | |
AC : 121, | |
BC : 122, | |
CC : 123 | |
}; | |
var pressedKeys = {}; | |
var keyName; | |
for (keyName in keys) { | |
/** @type {string} */ | |
pressedKeys[keys[keyName]] = keyName; | |
} | |
attempt(function() { | |
addCharsToCharClass(function(el, d, dataAndEvents) { | |
if (_d) { | |
if (dataAndEvents) { | |
d = _d; | |
/** @type {null} */ | |
_d = null; | |
el.current_event_target = toString(d.target.get(), 0, 1); | |
el.current_event_name = d.qy; | |
el.current_event_handler = d.Ky; | |
} | |
} | |
}); | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var Socket = function() { | |
/** @type {Array} */ | |
this.Nf = []; | |
/** @type {number} */ | |
this.Gs = 0; | |
/** @type {boolean} */ | |
this.yp = true; | |
/** @type {Array} */ | |
this.cr = []; | |
/** @type {Array} */ | |
this.Cp = []; | |
/** | |
* @return {undefined} | |
*/ | |
this.qv = function() { | |
window.location.reload(true); | |
}; | |
/** @type {boolean} */ | |
this.Fu = "10.0.2.2" == location.hostname; | |
/** @type {boolean} */ | |
this.rl = false; | |
/** @type {string} */ | |
this.tv = "/-/save-diagnostics-report"; | |
/** @type {null} */ | |
this.tr = null; | |
/** @type {boolean} */ | |
this.Ck = "localhost" == location.hostname; | |
/** @type {boolean} */ | |
this.Ty = "function" != typeof window.getSelection; | |
}; | |
/** @type {number} */ | |
var js_init_time_ms = (new Date).getTime(); | |
var knownByType = reject("keyboard_action", "load_document", "unload_document", "save_document", "document_web_socket_update"); | |
attempt(function() { | |
if (isContentHeight) { | |
/** @type {number} */ | |
knownByType.input_event = 1; | |
} | |
}); | |
var exception = reject("exception", "malformed_table", "stuck_save_in_progress", "unknown_root_container_type", "unbalanced_listen_pause", "io_call_error", "sections_stale", "listen_cursor_decrease", "typing_in_unexpected_section", "new_section_missing_dirty_fields", "pending_entities_after_save", "pending_fields_during_save", "dropped_non_comment_updates", "autocomplete_result_selected_without_context"); | |
var dest = reject("listen_cursor_decrease", "unbalanced_listen_pause", "sections_stale"); | |
/** | |
* @param {?} e | |
* @return {undefined} | |
*/ | |
var logError = function(e) { | |
var fn = opts; | |
var err = getCallback(fn); | |
if (!err || (err.stack != e.stack || err.message != e.message)) { | |
try { | |
call(fn, "exception", { | |
stack : e.stack || "", | |
message : e.message || "" | |
}); | |
} catch (ex) { | |
console.error("Exception during exception recording", ex.message, ex.stack); | |
console.error("Original exception", e.message, e.stack); | |
} | |
} | |
}; | |
/** | |
* @param {?} self | |
* @param {string} type | |
* @param {?} opt_attributes | |
* @return {?} | |
*/ | |
var call = function(self, type, opt_attributes) { | |
if (self.rl) { | |
return null; | |
} | |
/** @type {boolean} */ | |
self.rl = true; | |
var cache = { | |
type : type, | |
timestamp_ms : now() | |
}; | |
/** @type {boolean} */ | |
var rangeEnd = cache.type in exception; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < self.Cp.length;i++) { | |
try { | |
rangeEnd |= self.Cp[i](cache, type in knownByType, rangeEnd); | |
} catch (g) { | |
} | |
} | |
if (opt_attributes) { | |
var prop; | |
for (prop in opt_attributes) { | |
cache[prop] = opt_attributes[prop]; | |
} | |
} | |
self.Nf.push(cache); | |
if (self.Ty) { | |
/** @type {boolean} */ | |
rangeEnd = false; | |
} | |
if (rangeEnd) { | |
if ("report_requested" != type) { | |
/** @type {boolean} */ | |
self.yp = false; | |
if (!self.gk) { | |
if (10 > self.Gs) { | |
self.gk = push(bind(function() { | |
this.Gs++; | |
request(this, true); | |
}, self), !self.Ck || (type in dest || self.Fu) ? 1E3 : 1E4); | |
} | |
} | |
simulate(self, type); | |
} | |
} | |
if (self.yp && 25 < self.Nf.length || 100 < self.Nf.length) { | |
self.Nf.shift(); | |
} | |
/** @type {boolean} */ | |
self.rl = false; | |
return cache; | |
}; | |
/** | |
* @param {?} value | |
* @param {string} e | |
* @param {Object} opt_attributes | |
* @return {undefined} | |
*/ | |
var formatError = function(value, e, opt_attributes) { | |
opt_attributes = opt_attributes || {}; | |
try { | |
throw Error(""); | |
} catch (x) { | |
opt_attributes.stack = x.stack || ""; | |
} | |
call(value, e, opt_attributes); | |
}; | |
/** | |
* @param {Function} spaceName | |
* @return {undefined} | |
*/ | |
var gatherStats = function(spaceName) { | |
opts.cr.push(spaceName); | |
}; | |
/** | |
* @param {Function} start | |
* @return {undefined} | |
*/ | |
var addCharsToCharClass = function(start) { | |
opts.Cp.push(start); | |
}; | |
/** | |
* @param {string} clicked | |
* @return {undefined} | |
*/ | |
Socket.prototype.Tv = function(clicked) { | |
/** @type {string} */ | |
this.tr = clicked; | |
}; | |
/** | |
* @param {?} options | |
* @param {string} type | |
* @return {undefined} | |
*/ | |
var simulate = function(options, type) { | |
if (!options.Gm) { | |
options.Gm = get("<div id='diagnostics-errorbar' class='errorbar' contenteditable='false'><button data-click='send-diagnostics-report-errorbar'>Send diagnostics report and reload</button><button data-click='close-diagnostics-errorbar'>Ignore at my own risk</button>Something went wrong, got an unexpected error.</div>"); | |
} | |
if (!!options.Ck) { | |
if (!(type in dest)) { | |
item.append(options.Gm); | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var removeCovers = function() { | |
var fragment = opts; | |
if (fragment.Gm) { | |
fragment.Gm.remove(); | |
} | |
}; | |
/** | |
* @param {?} fn | |
* @return {?} | |
*/ | |
var getCallback = function(fn) { | |
/** @type {number} */ | |
var MIN_SEARCH_LENGTH = now() - 1E3; | |
/** @type {number} */ | |
var key = fn.Nf.length - 1; | |
for (;0 <= key;key--) { | |
var q = fn.Nf[key]; | |
/** @type {boolean} */ | |
var exception = q.timestamp_ms >= MIN_SEARCH_LENGTH; | |
if ("exception" == q.type && exception) { | |
return q; | |
} | |
if (!exception) { | |
break; | |
} | |
} | |
return null; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var pollPath = function() { | |
var suiteView = opts; | |
if (!suiteView.AA) { | |
suiteView.AA = addListener(window, "unload", bind(function() { | |
if (this.gk) { | |
request(this, true, void 0, true); | |
} | |
}, suiteView)); | |
} | |
}; | |
/** | |
* @param {?} self | |
* @param {boolean} recurring | |
* @param {?} func | |
* @param {boolean} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
var request = function(self, recurring, func, deepDataAndEvents) { | |
recurring = recurring || false; | |
if (self.gk) { | |
protectedClearTimeout(self.gk); | |
delete self.gk; | |
} | |
call(self, "report_requested"); | |
var options = { | |
events : self.Nf, | |
page_url : location.href, | |
silent : recurring, | |
git_commit_hash : window.kGitCommitHash, | |
js_init_time_ms : js_init_time_ms | |
}; | |
if ("performance" in window && ("memory" in window.performance && "usedJSHeapSize" in window.performance.memory)) { | |
/** @type {(PerformanceMemory|null)} */ | |
var attr = window.performance.memory; | |
/** @type {number} */ | |
options.js_heap_size_used = attr.usedJSHeapSize; | |
/** @type {number} */ | |
options.js_heap_size_total = attr.totalJSHeapSize; | |
/** @type {number} */ | |
options.js_heap_size_limit = attr.jsHeapSizeLimit; | |
} | |
/** @type {number} */ | |
attr = 0; | |
for (;attr < self.cr.length;attr++) { | |
try { | |
self.cr[attr](options); | |
} catch (g) { | |
} | |
} | |
/** @type {Array} */ | |
self.Nf = []; | |
/** @type {boolean} */ | |
self.yp = true; | |
if (ci) { | |
if (func) { | |
func(); | |
} | |
} else { | |
if (self.Fu) { | |
sendRequest(options); | |
if (func) { | |
func(); | |
} | |
} else { | |
next(self.tv, { | |
report : deepMerge(options) | |
}, function(dataAndEvents) { | |
if ("diagnostics_report_url" in dataAndEvents) { | |
console.warn("Diagnostics report URL: " + dataAndEvents.diagnostics_report_url); | |
} | |
if (!recurring) { | |
error("Sent diagnostics report."); | |
} | |
console.log("Sent diagnostics report."); | |
if (func) { | |
func(); | |
} | |
}, bind(function() { | |
if (!recurring) { | |
error("Could not send diagnostics report."); | |
} | |
console.log("Could not send diagnostics report."); | |
Array.prototype.unshift.apply(this.Nf, options.events); | |
if (func) { | |
func(); | |
} | |
}, self), deepDataAndEvents, function(a) { | |
try { | |
/** @type {boolean} */ | |
a.withCredentials = true; | |
} catch (b) { | |
} | |
}, bind(function(tokenRequest) { | |
if (this.tr) { | |
tokenRequest.setRequestHeader("Authorization", "Bearer " + this.tr); | |
} | |
}, self)); | |
} | |
} | |
}; | |
/** | |
* @param {?} obj1 | |
* @return {?} | |
*/ | |
var deepMerge = function(obj1) { | |
/** @type {Array} */ | |
var ancestors = []; | |
return JSON.stringify(obj1, function(dataAndEvents, node) { | |
if ("object" == typeof node && null !== node) { | |
if (-1 != ancestors.indexOf(node)) { | |
return node instanceof Array ? [] : {}; | |
} | |
ancestors.push(node); | |
} | |
return node instanceof Node ? toString(node, 0, 1) : node; | |
}); | |
}; | |
/** | |
* @param {Object} obj2 | |
* @return {undefined} | |
*/ | |
var sendRequest = function(obj2) { | |
console.group("Diagnostic report"); | |
var p; | |
for (p in obj2) { | |
if ("events" == p) { | |
var codeSegments = obj2[p]; | |
console.group("Events"); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
console.log(codeSegments[i]); | |
} | |
console.groupEnd(); | |
} else { | |
console.log(p, obj2[p]); | |
} | |
} | |
console.groupEnd(); | |
}; | |
var opts = new Socket; | |
$("click", "send-diagnostics-report", function() { | |
request(opts); | |
return true; | |
}); | |
$("click", "send-diagnostics-report-errorbar", function() { | |
removeCovers(); | |
request(opts, false, opts.qv); | |
return true; | |
}); | |
$("click", "close-diagnostics-errorbar", function() { | |
removeCovers(); | |
return true; | |
}); | |
attempt(function() { | |
var initialConfig = { | |
extension : 1, | |
miscellaneous_bindings : 1, | |
runtime : 1, | |
schemaUtils : 1 | |
}; | |
/** | |
* @param {Object} message | |
* @param {(Object|string)} name | |
* @param {?} u | |
* @return {?} | |
*/ | |
window.onerror = function(message, name, u) { | |
if (external && (null === name || extend(name, "resource:/")) || (applyIfNotSet && name in initialConfig || (message && -1 != message.indexOf("stopme is not defined") || message && -1 != message.indexOf("NPObject")))) { | |
return false; | |
} | |
try { | |
if (window.event) { | |
if (window.event.error) { | |
logError(window.event.error); | |
} | |
} | |
a: { | |
var fn = opts; | |
var prototype = window.event && window.event.colno ? window.event.colno : 0; | |
var object = getCallback(fn); | |
if (!object || (!compute(message, object.message) || "script_url" in object)) { | |
object = call(fn, "exception"); | |
if (!object) { | |
break a; | |
} | |
/** @type {Object} */ | |
object.message = message; | |
} | |
/** @type {(Object|string)} */ | |
object.script_url = name; | |
object.line_number = u; | |
object.column_number = prototype; | |
} | |
} catch (e) { | |
console.error("Exception during error handler", e.message, e.stack); | |
} | |
return false; | |
}; | |
}); | |
var a2 = void 0; | |
/** | |
* @param {string} id | |
* @return {?} | |
*/ | |
var _next = function(id) { | |
return(id = document.cookie.match("\\b" + id + "=([^;]*)\\b")) ? id[1] : void 0; | |
}; | |
/** | |
* @param {string} value | |
* @param {string} val | |
* @param {number} i | |
* @return {undefined} | |
*/ | |
var startsWith = function(value, val, i) { | |
/** @type {string} */ | |
value = value + "=" + val + ";path=/;expires=" + (new Date((new Date).getTime() + i)).toUTCString(); | |
/** @type {string} */ | |
val = window.location.hostname; | |
/** @type {number} */ | |
i = val.lastIndexOf("."); | |
if (0 < i) { | |
/** @type {number} */ | |
i = val.lastIndexOf(".", i - 1); | |
/** @type {string} */ | |
value = 0 < i ? value + (";domain=" + val.substring(i)) : value + (";domain=." + val); | |
} | |
/** @type {string} */ | |
document.cookie = value; | |
}; | |
/** | |
* @param {Object} event | |
* @return {undefined} | |
*/ | |
var onKeyDown = function(event) { | |
var current = event.target; | |
if ("FORM" == current.tagName) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < current.elements.length;i++) { | |
var input = current.elements[i]; | |
if (exec(input.getAttribute("required")) && (!checkElements(input.getAttribute("required")) && !input.value)) { | |
input.focus(); | |
stopEvent(event); | |
break; | |
} | |
} | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
var getCacheKey = function() { | |
if (isFunction(a2)) { | |
/** @type {null} */ | |
a2 = null; | |
var self = jQuery("script[data-js-client-hash]"); | |
if (!self.empty()) { | |
a2 = self.data("js-client-hash"); | |
} | |
} | |
return a2; | |
}; | |
/** @type {boolean} */ | |
var ni = true; | |
/** | |
* @return {?} | |
*/ | |
var isFn = function() { | |
return ni; | |
}; | |
/** @type {Array} */ | |
var handlers = []; | |
/** | |
* @param {?} object | |
* @return {undefined} | |
*/ | |
var freeze = function(object) { | |
handlers.push(object); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var completed = function() { | |
var e = isFn(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < handlers.length;i++) { | |
handlers[i](e); | |
} | |
}; | |
/** | |
* @param {string} path | |
* @return {?} | |
*/ | |
var getDirectory = function(path) { | |
/** @type {Array.<string>} */ | |
var codeSegments = location.search.substring(1).split("&"); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
/** @type {Array.<string>} */ | |
var part = codeSegments[i].split("=", 2); | |
if (decodeURIComponent(part[0]) == path) { | |
return decodeURIComponent(part[1]); | |
} | |
} | |
return null; | |
}; | |
/** | |
* @param {Object} e | |
* @return {?} | |
*/ | |
var isValidFileDrag = function(e) { | |
return e.dataTransfer.types && (e.dataTransfer.types.indexOf ? -1 != e.dataTransfer.types.indexOf("Files") : e.dataTransfer.types.contains("application/x-moz-file")); | |
}; | |
(function() { | |
if ("hidden" in document) { | |
/** | |
* @return {?} | |
*/ | |
isFn = function() { | |
return!document.hidden; | |
}; | |
document.addEventListener("visibilitychange", completed, false); | |
} else { | |
if ("webkitHidden" in document) { | |
/** | |
* @return {?} | |
*/ | |
isFn = function() { | |
return!document.webkitHidden; | |
}; | |
document.addEventListener("webkitvisibilitychange", completed, false); | |
} else { | |
if ("mozHidden" in document) { | |
/** | |
* @return {?} | |
*/ | |
isFn = function() { | |
return!document.mozHidden; | |
}; | |
document.addEventListener("mozvisibilitychange", completed, false); | |
} else { | |
if ("msHidden" in document) { | |
/** | |
* @return {?} | |
*/ | |
isFn = function() { | |
return!document.msHidden; | |
}; | |
document.addEventListener("msvisibilitychange", completed, false); | |
} else { | |
/** | |
* @return {undefined} | |
*/ | |
var ready = function() { | |
/** @type {boolean} */ | |
ni = true; | |
completed(); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var keyDown = function() { | |
/** @type {boolean} */ | |
ni = false; | |
completed(); | |
}; | |
if (window.addEventListener) { | |
window.addEventListener("focus", ready, true); | |
window.addEventListener("blur", keyDown, true); | |
} else { | |
document.attachEvent("onfocusin", ready); | |
document.attachEvent("onfocusout", keyDown); | |
} | |
} | |
} | |
} | |
} | |
})(); | |
attempt(function() { | |
/** @type {number} */ | |
var value = -(new Date).getTimezoneOffset(); | |
var cDigit = _next("tz"); | |
if (!(cDigit && parseInt(cDigit, 10) == value)) { | |
startsWith("tz", value, 315569E5); | |
} | |
}); | |
attempt(function() { | |
if ("onsubmit" in window.document.body) { | |
addEvent(document.body, "submit", onKeyDown); | |
} else { | |
addEvent(window.document.body, "focusin", function(element) { | |
if ("INPUT" == element.target.tagName || "TEXTAREA" == element.target.tagName) { | |
element = jQuery(element.target).parent("form"); | |
if (!attr(element, "ierequired")) { | |
element.setData("ierequired", "true"); | |
element.addListener("submit", onKeyDown); | |
} | |
} | |
}); | |
} | |
}); | |
attempt(function() { | |
addEvent(document, "keydown", function(event) { | |
if (!(event.keyCode != touchend)) { | |
if (!event.altKey) { | |
if (!event.metaKey) { | |
if (!event.ctrlKey) { | |
if (!("BODY" != event.target.nodeName && "HTML" != event.target.nodeName)) { | |
stopEvent(event); | |
} | |
} | |
} | |
} | |
} | |
}); | |
}); | |
attempt(function() { | |
if (window.matchMedia) { | |
window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx)").addListener(function() { | |
if ((!exec(navigator.onLine) || navigator.onLine) && "kStylesheetUrls" in window) { | |
/** @type {number} */ | |
var aname = 1 < window.devicePixelRatio ? 1 : 0; | |
replace(jQuery("head link[rel=stylesheet]"), createElement("link").setAttribute("rel", "stylesheet").setAttribute("href", kStylesheetUrls[aname])); | |
} | |
}); | |
} | |
}); | |
gatherStats(function(dataAndEvents) { | |
dataAndEvents.js_client_hash = getCacheKey(); | |
}); | |
append("browser.setJsClientHash", function(a3) { | |
/** @type {number} */ | |
a2 = a3; | |
}); | |
/** | |
* @param {?} elem | |
* @param {(number|string)} val | |
* @return {undefined} | |
*/ | |
var input = function(elem, val) { | |
/** @type {boolean} */ | |
this.Yf = this.cn = false; | |
/** @type {null} */ | |
this.sb = null; | |
this.od = {}; | |
this.oy = elem; | |
this.ao = val || "title"; | |
/** @type {Array} */ | |
this.bn = []; | |
}; | |
self = input.prototype; | |
/** | |
* @return {undefined} | |
*/ | |
self.load = function() { | |
if (!!data.ka) { | |
if (!this.cn) { | |
if (!this.Yf) { | |
/** @type {boolean} */ | |
this.Yf = true; | |
next(this.oy, {}, bind(this.an, this), bind(function() { | |
/** @type {boolean} */ | |
this.Yf = false; | |
}, this)); | |
} | |
} | |
} | |
}; | |
/** | |
* @param {?} type | |
* @return {undefined} | |
*/ | |
self.an = function(type) { | |
this.Xh(type); | |
/** @type {number} */ | |
type = 0; | |
for (;type < this.bn.length;type++) { | |
this.bn[type](); | |
} | |
/** @type {Array} */ | |
this.bn = []; | |
}; | |
/** | |
* @param {Object} state | |
* @return {undefined} | |
*/ | |
self.Xh = function(state) { | |
/** @type {boolean} */ | |
this.cn = true; | |
/** @type {boolean} */ | |
this.Yf = false; | |
this.sb = new Position(state.index); | |
this.od = state.objects; | |
}; | |
/** | |
* @param {?} d | |
* @param {?} fn | |
* @return {undefined} | |
*/ | |
var nextTick = function(d, fn) { | |
if (d.cn) { | |
fn(); | |
} else { | |
d.bn.push(fn); | |
} | |
}; | |
/** | |
* @param {?} name | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
self.update = function(name, recurring) { | |
nextTick(this, bind(function() { | |
/** @type {boolean} */ | |
var c = false; | |
if (!(name in this.od)) { | |
this.od[name] = {}; | |
/** @type {boolean} */ | |
c = true; | |
} | |
/** @type {boolean} */ | |
this.od[name] = recurring; | |
if (c) { | |
this.sb.add(recurring[this.ao], name); | |
} else { | |
this.sb.update(recurring[this.ao], name); | |
} | |
}, this)); | |
}; | |
/** | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
self.remove = function(name) { | |
nextTick(this, bind(function() { | |
delete this.od[name]; | |
this.sb.remove(name); | |
}, this)); | |
}; | |
/** | |
* @param {Function} arr | |
* @return {undefined} | |
*/ | |
self.sort = function(arr) { | |
arr.sort(bind(function(tokens, $) { | |
var a = tokens[this.ao].toLowerCase(); | |
var b = $[this.ao].toLowerCase(); | |
return a < b ? -1 : a > b ? 1 : 0; | |
}, this)); | |
}; | |
/** @type {function (): ?} */ | |
self.Jd = tmp; | |
/** @type {function (): ?} */ | |
self.yg = tmp; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Ka = function(name) { | |
return this.od[name]; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Window = function() { | |
input.call(this, "/-/documents"); | |
}; | |
inherits(Window, input); | |
self = Window.prototype; | |
/** | |
* @param {Object} val | |
* @return {undefined} | |
*/ | |
self.Xh = function(val) { | |
Window.Ga.Xh.call(this, val); | |
this.Pi = {}; | |
this.Bm = {}; | |
var key; | |
for (key in this.od) { | |
val = this.od[key]; | |
/** @type {string} */ | |
this.Pi[val.thread_id] = key; | |
/** @type {string} */ | |
this.Bm[val.href] = key; | |
} | |
}; | |
/** | |
* @param {?} name | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
self.update = function(name, recurring) { | |
var message = this.od[name]; | |
if (message) { | |
delete this.Pi[message.thread_id]; | |
delete this.Pi[message.href]; | |
} | |
Window.Ga.update.call(this, name, recurring); | |
nextTick(this, bind(function() { | |
var message = this.od[name]; | |
this.Pi[message.thread_id] = name; | |
this.Bm[message.href] = name; | |
}, this)); | |
}; | |
/** | |
* @param {Function} arr | |
* @return {undefined} | |
*/ | |
self.sort = function(arr) { | |
arr.sort(function(self, d) { | |
var a = self.edited; | |
var b = d.edited; | |
if (a != b) { | |
return a < b ? 1 : -1; | |
} | |
a = self.title.toLowerCase(); | |
b = d.title.toLowerCase(); | |
return a < b ? -1 : a > b ? 1 : 0; | |
}); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Jd = function(name) { | |
var a = createElement("div", "icon"); | |
var cleanCache = createElement("a", "object-row").setAttribute("href", name.href).setData("id", name.id).append(a).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.info)); | |
switch(this.Ca(name)) { | |
case 1: | |
cleanCache.g("document-row"); | |
break; | |
case 0: | |
cleanCache.g("thread-row"); | |
if (name.profile_picture_grid_html) { | |
indexOf(a.g("grid").g("medium-presence-indicator"), name.profile_picture_grid_html); | |
successCallback(a); | |
} | |
; | |
} | |
return cleanCache; | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.yg = function(name) { | |
var result = createElement("a", "name-card").append(createElement("span")).setData("click", "open-document").setData("id", name.id).setData("title", name.title).setAttribute("href", name.href); | |
switch(this.Ca(name)) { | |
case 1: | |
result.g("document-card"); | |
break; | |
case 0: | |
result.g("thread-card"); | |
} | |
return result; | |
}; | |
/** | |
* @param {number} types | |
* @return {?} | |
*/ | |
self.Ca = function(types) { | |
types = types.type; | |
return exec(types) ? types : 1; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Response = function() { | |
input.call(this, "/-/folders"); | |
/** @type {string} */ | |
this.Ds = this.ot = ""; | |
}; | |
inherits(Response, input); | |
var sorted = { | |
1 : 0, | |
2 : 1, | |
0 : 2 | |
}; | |
self = Response.prototype; | |
/** | |
* @param {Function} arr | |
* @return {undefined} | |
*/ | |
self.sort = function(arr) { | |
arr.sort(function(li, d) { | |
var a = sorted[li.folder_class]; | |
var b = sorted[d.folder_class]; | |
if (a != b) { | |
return a < b ? -1 : 1; | |
} | |
a = li.updated_time; | |
b = d.updated_time; | |
if (a != b) { | |
return a < b ? 1 : -1; | |
} | |
a = li.title.toLowerCase(); | |
b = d.title.toLowerCase(); | |
return a < b ? -1 : a > b ? 1 : 0; | |
}); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Jd = function(name) { | |
var names = createElement("a", "object-row folder-row").setAttribute("href", "/" + name.id).setData("id", name.id).append(createElement("div", "icon").append(createElement("div", "color")).append(createElement("div", "outline")).append(createElement("div", "badge"))).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.info)); | |
/** @type {Array} */ | |
var res = []; | |
if (1 == name.folder_type) { | |
if (1 == name.inherit_mode) { | |
res.push("restricted"); | |
} else { | |
res.push("shared"); | |
} | |
} else { | |
res.push("private"); | |
} | |
if (2 == name.folder_class) { | |
res.push("archive"); | |
} | |
if (1 == name.folder_class) { | |
res.push("desktop"); | |
} | |
if ("color" in name.attributes) { | |
res.push(name.attributes.color); | |
} | |
/** @type {number} */ | |
name = 0; | |
for (;name < res.length;name++) { | |
names.g(res[name]); | |
} | |
return names; | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.yg = function(name) { | |
return createElement("a", "name-card folder-card").append(createElement("span")).setData("click", "open-folder").setData("id", name.id).setData("title", name.title).setAttribute("href", "/" + name.id); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var objectEqual = function() { | |
var o = res; | |
/** @type {Array} */ | |
var requires = []; | |
var dep; | |
for (dep in o.od) { | |
requires.push(o.od[dep]); | |
} | |
o.sort(requires); | |
return requires; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Qf = function() { | |
return this.ot; | |
}; | |
/** | |
* @param {?} dataAndEvents | |
* @return {undefined} | |
*/ | |
self.yr = function(dataAndEvents) { | |
this.ot = dataAndEvents; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Wi = function() { | |
return this.Ds; | |
}; | |
/** | |
* @param {(Array|string)} dataAndEvents | |
* @return {undefined} | |
*/ | |
self.vr = function(dataAndEvents) { | |
/** @type {(Array|string)} */ | |
this.Ds = dataAndEvents; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var JsonWorker = function() { | |
}; | |
/** | |
* @param {(Array|string)} results | |
* @param {(Array|string)} recurring | |
* @param {number} c | |
* @return {?} | |
*/ | |
JsonWorker.prototype.$f = function(results, recurring, c) { | |
/** @type {number} */ | |
var i = expectationResult; | |
if (!results.Tc) { | |
if (recurring.Cb.ng) { | |
i |= v8; | |
} | |
} | |
results = serialize(res, results.Tc, i); | |
/** @type {Array} */ | |
recurring = []; | |
/** @type {number} */ | |
i = 0; | |
for (;i < results.length && i < c;i++) { | |
recurring.push(results[i].id); | |
} | |
return recurring; | |
}; | |
attempt(function() { | |
encodeUriSegment(8, new JsonWorker, function(pkg, recurring) { | |
_fn(res.yg(res.Ka(pkg)), recurring); | |
}); | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var Component = function() { | |
input.call(this, "/-/contacts", "name"); | |
/** @type {null} */ | |
this.ka = null; | |
/** @type {Array} */ | |
this.kp = []; | |
this.Ed = new getByIndex(new EcoLanguage); | |
this.df = {}; | |
/** @type {null} */ | |
this.ko = this.ck = null; | |
this.ak = {}; | |
this.pk = {}; | |
}; | |
inherits(Component, input); | |
self = Component.prototype; | |
/** | |
* @param {?} context | |
* @return {undefined} | |
*/ | |
self.Xh = function(context) { | |
Component.Ga.Xh.call(this, context); | |
this.df = context.affinities; | |
if (this.ka) { | |
this.update(this.ka.id, this.ka); | |
} | |
this.ak = context.chat_thread_ids; | |
if (this.ck = context.workgroup) { | |
this.ko = {}; | |
var j = context.workgroup_user_ids; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < j.length;i++) { | |
/** @type {boolean} */ | |
this.ko[j[i]] = true; | |
} | |
} | |
if (i = context.contacts_list) { | |
j = jQuery(".contacts-list"); | |
if (!j.empty()) { | |
if (!j.j("loaded")) { | |
i = get(i); | |
i.insertBefore(calculate(trim(j))); | |
j.g("loaded"); | |
expect(i, bind(function(option) { | |
/** @type {number} */ | |
this.pk[jQuery(option).data("id")] = 1; | |
}, this)); | |
} | |
} | |
if (data.Ed.Xg) { | |
loaded(context.frequent_contacts, context.other_contacts); | |
} | |
} | |
}; | |
/** | |
* @param {?} option | |
* @param {?} value | |
* @return {undefined} | |
*/ | |
self.ur = function(option, value) { | |
this.df[option] = value; | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var isDirectory = function(name) { | |
var node = data; | |
return node.ko && node.Ka(name) ? !node.ko[name] : false; | |
}; | |
/** | |
* @param {Object} message | |
* @return {?} | |
*/ | |
var doSerialize = function(message) { | |
var config = data; | |
return config.ck ? !compute(message.toLowerCase(), "@" + config.ck.domain) : false; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var operation = function() { | |
var m = data; | |
return m.ck ? m.ck.name : ""; | |
}; | |
/** | |
* @param {?} obj | |
* @param {Array} type | |
* @return {undefined} | |
*/ | |
var groupBy = function(obj, type) { | |
type.sort(bind(function(timeoutKey, $conditional) { | |
var a = this.df[timeoutKey] || 0; | |
var b = this.df[$conditional] || 0; | |
return a < b ? 1 : a > b ? -1 : 0; | |
}, obj)); | |
}; | |
/** | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
self.Mv = function(recurring) { | |
if (recurring.id) { | |
console.log("User id: " + recurring.id); | |
/** @type {boolean} */ | |
this.ka = recurring; | |
if (!this.ka.picture && this.ka.pictures) { | |
/** @type {number} */ | |
var height = 45 * (window.devicePixelRatio ? window.devicePixelRatio : 1); | |
var codeSegments = this.ka.pictures; | |
/** @type {null} */ | |
var node = null; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var child = codeSegments[i]; | |
if (child.width > height) { | |
node = child; | |
} | |
} | |
if (!node) { | |
node = codeSegments[0]; | |
} | |
this.ka.picture = hash(node.hash); | |
} else { | |
this.ka.picture = this.ka.picture.url; | |
} | |
this.update(recurring.id, recurring); | |
if (recurring.employee) { | |
item.g("employee"); | |
/** @type {boolean} */ | |
bytenew = true; | |
/** @type {boolean} */ | |
opts.Ck = true; | |
pollPath(); | |
} else { | |
/** @type {boolean} */ | |
opts.Ck = "localhost" == location.hostname; | |
} | |
if (recurring.rollout_state) { | |
this.Ar(recurring.rollout_state); | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < this.kp.length;i++) { | |
this.kp[i](); | |
} | |
/** @type {Array} */ | |
this.kp = []; | |
} | |
}; | |
/** | |
* @param {string} val2 | |
* @return {undefined} | |
*/ | |
self.Ar = function(val2) { | |
this.Ed = new getByIndex(isNaN(val2, EcoLanguage)); | |
}; | |
/** | |
* @param {?} match | |
* @return {?} | |
*/ | |
self.Vi = function(match) { | |
return this.df[match] || 0; | |
}; | |
/** | |
* @param {Function} arr | |
* @return {undefined} | |
*/ | |
self.sort = function(arr) { | |
addNode(this, arr, {}); | |
}; | |
/** | |
* @param {number} obj | |
* @param {Object} arr | |
* @param {?} result | |
* @return {undefined} | |
*/ | |
var addNode = function(obj, arr, result) { | |
arr.sort(bind(function(option, elem) { | |
if (data.ka) { | |
if (option.id == data.ka.id) { | |
return-1; | |
} | |
if (elem.id == data.ka.id) { | |
return 1; | |
} | |
} | |
var a = this.Vi(option.id); | |
var b = this.Vi(elem.id); | |
if (a != b) { | |
return a < b ? 1 : -1; | |
} | |
/** @type {boolean} */ | |
a = option.id in result; | |
if (a != elem.id in result) { | |
return a ? -1 : 1; | |
} | |
a = option.name.toLowerCase(); | |
b = elem.name.toLowerCase(); | |
return a < b ? -1 : a > b ? 1 : 0; | |
}, obj)); | |
}; | |
/** | |
* @param {Object} element | |
* @param {boolean} expectedNumberOfNonCommentArgs | |
* @param {boolean} dataAndEvents | |
* @return {?} | |
*/ | |
var isEventSupported = function(element, expectedNumberOfNonCommentArgs, dataAndEvents) { | |
if ("null" == element.id) { | |
return new klass([]); | |
} | |
var o = createElement("div", "profile-picture presence").setData("id", element.id).setData("error", "profile-picture").append(createElement("img").setAttribute("src", element.picture)); | |
if (!expectedNumberOfNonCommentArgs) { | |
o.g("inset"); | |
} | |
if (!dataAndEvents) { | |
o.setData("mouseover", "hovercard"); | |
} | |
if (cache(element.id)) { | |
o.g("active"); | |
} | |
return o; | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Jd = function(name) { | |
var d = createElement("div", "contact-status info").setData("id", name.id).ca(resize(name.id)); | |
d = createElement("a", "object-row contact").setAttribute("href", "/" + name.id).setData("id", name.id).append(createElement("div").append(isEventSupported(name, void 0, true)).append(createElement("div", "title").ca(name.name)).append(d)); | |
if (name = inArray(name)) { | |
d.g(name); | |
} | |
return d; | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.yg = function(name) { | |
var result = createElement("a", "name-card user-card presence").append(createElement("span")).setData("click", "open-chat-tab").setData("mouseover", "hovercard").setData("id", name.id).setData("title", name.first_name).setAttribute("href", "/" + name.id); | |
if (cache(name.id)) { | |
result.g("active"); | |
} | |
return result; | |
}; | |
/** | |
* @param {?} records | |
* @param {Object} target | |
* @param {string} item | |
* @param {?} e | |
* @return {undefined} | |
*/ | |
var click = function(records, target, item, e) { | |
item = createElement("div", "object-row contact presence").setData("id", target.id).setData("click", item).append(createElement("div").append(isEventSupported(target, void 0, true)).append(createElement("div", "remove").setData("click", "remove-contact")).append(createElement("div", "title").ca(target.name)).append(createElement("div", "contact-status info").setData("id", target.id).ca(resize(target.id)))); | |
var i = inArray(target); | |
if (i) { | |
item.g(i); | |
} | |
i = parent(e.find(".contact")); | |
if (i.empty()) { | |
text(e, item); | |
} else { | |
parseInt(item, i); | |
} | |
/** @type {number} */ | |
records.pk[target.id] = 1; | |
}; | |
/** | |
* @param {?} name | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
self.update = function(name, recurring) { | |
/** @type {boolean} */ | |
var c = !(name in this.od); | |
Component.Ga.update.call(this, name, recurring); | |
nextTick(this, bind(function() { | |
if (c) { | |
if (name != data.ka.id) { | |
click(this, this.od[name], "open-chat-thread", jQuery(".contacts-list")); | |
if (data.Ed.Xg) { | |
effect(this.od[name]); | |
} | |
successCallback(); | |
} | |
} | |
if (name == data.ka.id) { | |
data.ka.seen_signals_usec = recurring.seen_signals_usec; | |
stop(); | |
} | |
}, this)); | |
}; | |
/** | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
self.remove = function(name) { | |
Component.Ga.remove.call(this, name); | |
delete this.pk[name]; | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.Ka = function(name) { | |
return this.ka && this.ka.id == name ? this.ka : Component.Ga.Ka.call(this, name); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
var removeData = function(name) { | |
var elem = data; | |
return(name = elem.ak[name]) ? elem.Ka(name) : null; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Script = function() { | |
input.call(this, "/-/addresses"); | |
this.df = {}; | |
}; | |
inherits(Script, input); | |
/** | |
* @param {Object} data | |
* @return {undefined} | |
*/ | |
Script.prototype.Xh = function(data) { | |
Script.Ga.Xh.call(this, data); | |
this.df = data.affinities; | |
data = get(data.html); | |
var fullOtherName = appendModelPrefix(); | |
var $this = jQuery(".chat-list .address-book .chat-list-section"); | |
if (!$this.empty()) { | |
/** @type {number} */ | |
var storageKey = 0; | |
for (;storageKey < fullOtherName && storageKey < data.length();storageKey++) { | |
$this.get(0).appendChild(data.get(storageKey)); | |
} | |
if (start($this, ".address-row")) { | |
jQuery(".chat-list .address-book").show(); | |
} | |
} | |
}; | |
/** | |
* @param {Function} arr | |
* @return {undefined} | |
*/ | |
Script.prototype.sort = function(arr) { | |
arr.sort(bind(function(test, d) { | |
var a = this.df[test.id] || 0; | |
var b = this.df[d.id] || 0; | |
if (a != b) { | |
return a < b ? 1 : -1; | |
} | |
a = test.title.toLowerCase(); | |
b = d.title.toLowerCase(); | |
return a < b ? -1 : a > b ? 1 : 0; | |
}, this)); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
Script.prototype.Jd = function(name) { | |
return createElement("a", "object-row address-row").setData("id", name.id).setData("info", name.address).setData("name", name.name).setData("address", name.address).append(createElement("div", "icon")).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.address)); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var CollectionView = function() { | |
input.call(this, "/-/imports"); | |
}; | |
inherits(CollectionView, input); | |
/** | |
* @param {Function} arr | |
* @return {undefined} | |
*/ | |
CollectionView.prototype.sort = function(arr) { | |
arr.sort(function(self, d) { | |
var a = self.edited; | |
var b = d.edited; | |
if (a != b) { | |
return a < b ? 1 : -1; | |
} | |
a = self.title.toLowerCase(); | |
b = d.title.toLowerCase(); | |
return a < b ? -1 : a > b ? 1 : 0; | |
}); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
CollectionView.prototype.Jd = function(name) { | |
return createElement("a", "object-row import-row").setAttribute("href", "/" + name.id).setData("id", name.id).setData("type", name.type).append(createElement("div", "icon")).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.info)); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
CollectionView.prototype.yg = function(name) { | |
return createElement("a", "name-card import-card").append(createElement("span")).setData("click", "import-file").setData("id", name.id).setData("title", name.title); | |
}; | |
/** | |
* @param {?} index | |
* @return {undefined} | |
*/ | |
var getByIndex = function(index) { | |
this.dw = index.Tt(); | |
this.Cu = index.It(); | |
index.Gt(); | |
this.Xg = index.Mt(); | |
this.$z = index.Rt(); | |
this.bA = index.Pp(); | |
}; | |
$("error", "profile-picture", function() { | |
this.g("error"); | |
return true; | |
}); | |
var params = new Window; | |
var res = new Response; | |
var data = new Component; | |
var doc = new Script; | |
var view = new CollectionView; | |
/** | |
* @param {number} name | |
* @return {?} | |
*/ | |
var validTest = function(name) { | |
if (11 != name.length) { | |
return null; | |
} | |
/** @type {number} */ | |
name = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".indexOf(name.charAt(4)); | |
return-1 == name ? null : name % 64; | |
}; | |
append("db.loadFromServer", function() { | |
params.load(); | |
res.load(); | |
data.load(); | |
view.load(); | |
if (data.Ed.Xg) { | |
doc.load(); | |
} | |
}); | |
append("contacts.setCurrentUser", bind(data.Mv, data)); | |
append("contacts.setRolloutState", bind(data.Ar, data)); | |
append("folders.setDesktopFolderId", bind(res.yr, res)); | |
append("folders.setArchiveFolderId", bind(res.vr, res)); | |
/** | |
* @return {?} | |
*/ | |
var onCompletion = function() { | |
return null === data.ka; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var insertAfter = function() { | |
return data.ka.anonymous; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var _isFunction = function() { | |
return actual.Nc(); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var setAttribute = function() { | |
return actual.Nk(); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var querySelector = function() { | |
return onCompletion() || _isFunction() && insertAfter() ? true : !back(0); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var prepend = function() { | |
return onCompletion() || _isFunction() && insertAfter() ? false : back(5); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var scrollTop = function() { | |
var el = deepEqual(actual, 22); | |
return value(el, 0) || value(el, 2); | |
}; | |
/** | |
* @param {number} val | |
* @return {?} | |
*/ | |
var back = function(val) { | |
var el = deepEqual(actual, 23); | |
return value(el, 0) || value(el, val); | |
}; | |
/** | |
* @param {Element} name | |
* @return {?} | |
*/ | |
var is_identifier = function(name) { | |
var i = actual; | |
/** @type {boolean} */ | |
i = i.Nc() != name.Nc() || (i.Nk() != name.Nk() || (i.Aa() != name.Aa() || (!get_mangled(i, 21).wa(get_mangled(name, 21)) || (!sortFunction(deepEqual(i, 22), deepEqual(name, 22)) || !sortFunction(deepEqual(i, 23), deepEqual(name, 23)))))); | |
/** @type {Element} */ | |
actual = name; | |
return i; | |
}; | |
var actual = new GameObject; | |
append("access.initThreadMetadata", function(val2) { | |
is_identifier(isNaN(val2, GameObject)); | |
}); | |
/** @type {RegExp} */ | |
var old = /^[!"#$%&\'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\u2000-\u206F\u2E00-\u2E7F]+/; | |
/** | |
* @param {Node} timestamp | |
* @return {undefined} | |
*/ | |
var Position = function(timestamp) { | |
/** @type {Node} */ | |
this.sb = timestamp; | |
}; | |
self = Position.prototype; | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.find = function(name) { | |
name = name.toLowerCase(); | |
/** @type {Array} */ | |
var results = []; | |
var y = validator(this.sb, [name, []], function(a, b) { | |
return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0; | |
}); | |
for (;y < this.sb.length;y++) { | |
var array = this.sb[y]; | |
if (0 != array[0].indexOf(name)) { | |
break; | |
} | |
array = array[1]; | |
/** @type {number} */ | |
var index = 0; | |
for (;index < array.length;index++) { | |
results.push(array[index]); | |
} | |
} | |
return results; | |
}; | |
/** | |
* @param {(Array|string)} name | |
* @return {?} | |
*/ | |
self.$f = function(name) { | |
/** @type {Array} */ | |
var codeSegments = []; | |
name = name.split(" "); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < name.length;i++) { | |
if (name[i]) { | |
var result = this.find(name[i]); | |
if (!result) { | |
return[]; | |
} | |
if (0 == i) { | |
codeSegments = result; | |
} else { | |
var arr2 = {}; | |
/** @type {number} */ | |
i = 0; | |
for (;i < codeSegments.length;i++) { | |
/** @type {number} */ | |
arr2[codeSegments[i]] = 1; | |
} | |
codeSegments = uniq(result, function(i) { | |
return i in arr2; | |
}); | |
} | |
} | |
} | |
return codeSegments; | |
}; | |
/** | |
* @param {string} type | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {undefined} | |
*/ | |
self.add = function(type, expectedNumberOfNonCommentArgs) { | |
var codeSegments = type.split(/\s+|\//); | |
var timeMap = {}; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var name = codeSegments[i].toLowerCase().replace(old, ""); | |
if (!(name in timeMap)) { | |
/** @type {number} */ | |
timeMap[name] = 1; | |
/** @type {Array} */ | |
var text = [name, [expectedNumberOfNonCommentArgs]]; | |
if (0 == this.sb.length) { | |
this.sb.push(text); | |
} else { | |
var t = validator(this.sb, text, function(a, b) { | |
return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0; | |
}); | |
if (t < this.sb.length && this.sb[t][0] == name) { | |
this.sb[t][1].push(expectedNumberOfNonCommentArgs); | |
} else { | |
this.sb.splice(t, 0, text); | |
} | |
} | |
} | |
} | |
}; | |
/** | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
self.remove = function(name) { | |
/** @type {Array} */ | |
var thens = []; | |
/** @type {number} */ | |
var conditionIndex = 0; | |
for (;conditionIndex < this.sb.length;conditionIndex++) { | |
/** @type {Array} */ | |
var rejected = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.sb[conditionIndex][1].length;i++) { | |
if (this.sb[conditionIndex][1][i] != name) { | |
rejected.push(this.sb[conditionIndex][1][i]); | |
} | |
} | |
if (0 < rejected.length) { | |
thens.push([this.sb[conditionIndex][0], rejected]); | |
} | |
} | |
/** @type {Array} */ | |
this.sb = thens; | |
}; | |
/** | |
* @param {?} name | |
* @param {?} optgroup | |
* @return {undefined} | |
*/ | |
self.update = function(name, optgroup) { | |
this.remove(optgroup); | |
this.add(name, optgroup); | |
}; | |
var node = {}; | |
/** | |
* @param {Function} name | |
* @param {boolean} dataAndEvents | |
* @return {undefined} | |
*/ | |
var lookup = function(name, dataAndEvents) { | |
var a = get("<div class='capture-overlay'></div>"); | |
item.append(a); | |
getUserMedia().call(navigator, { | |
video : true | |
}, function(inplace) { | |
SourceNode(inplace, name, a, dataAndEvents || false); | |
}, function(err) { | |
a.remove(); | |
err = err && "PermissionDeniedError" == err.name ? callback("Camera access was not granted, could not capture image.") : err.name ? callback("Could not capture image, unknown error (%(err)s).", { | |
err : err.name | |
}) : callback("Could not capture image, unknown error."); | |
error(err); | |
}); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var getUserMedia = function() { | |
return navigator.getUserMedia || (navigator.webkitGetUserMedia || navigator.mozGetUserMedia); | |
}; | |
/** | |
* @param {Event} data | |
* @param {?} options | |
* @param {?} a | |
* @param {?} onload | |
* @return {undefined} | |
*/ | |
var SourceNode = function(data, options, a, onload) { | |
/** | |
* @return {undefined} | |
*/ | |
function play() { | |
item.append(l); | |
var attributes = wrapper.get().videoWidth; | |
var opt_attributes = wrapper.get().videoHeight; | |
if (onload) { | |
wrapper.ja("marginLeft", Math.round(-(attributes - opt_attributes) / 2) + "px"); | |
attributes = opt_attributes; | |
} | |
l.gb(attributes).Sa(opt_attributes).ja("marginLeft", Math.round(-attributes / 2) + "px").ja("marginTop", Math.round(-opt_attributes / 2) + "px"); | |
node.sk = l.concat(a); | |
node.ht = options; | |
} | |
/** @type {Event} */ | |
node.Eu = data; | |
/** @type {string} */ | |
node.Fq = window.URL.createObjectURL(data); | |
var l = get("<div class='capture-screen' data-mousedown='no-caret-move'><video autoplay></video><div data-click='capture-cancel' class='delete-overlay-button'></div><button data-click='capture-ok'><div></div></button></div>"); | |
var wrapper = l.find("video"); | |
wrapper.setAttribute("src", node.Fq).uh("loadeddata", function() { | |
if (wrapper.get().videoWidth) { | |
play(); | |
} else { | |
var interval = createDom(function() { | |
/** @type {boolean} */ | |
var b = false; | |
if (wrapper.get().videoWidth) { | |
play(); | |
/** @type {boolean} */ | |
b = true; | |
} | |
if (b) { | |
window.clearInterval(interval); | |
} | |
}, 100) | |
} | |
}); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var resetContentDetails = function() { | |
node.Eu.stop(); | |
window.URL.revokeObjectURL(node.Fq); | |
node.sk.remove(); | |
delete node.Eu; | |
delete node.Fq; | |
delete node.ht; | |
delete node.sk; | |
}; | |
$("click", "capture-ok", function() { | |
var data = node.sk.find("video"); | |
var canvas = createElement("canvas").get(); | |
canvas.width = node.sk.width(); | |
canvas.height = node.sk.height(); | |
canvas.getContext("2d").drawImage(data.get(), (canvas.width - data.width()) / 2, 0); | |
data = canvas.toDataURL("image/jpeg", 0.8); | |
node.ht(dataURLToBlob(data)); | |
resetContentDetails(); | |
return true; | |
}); | |
$("click", "capture-cancel", function() { | |
resetContentDetails(); | |
return true; | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var _Input = function() { | |
/** @type {Array} */ | |
this.Fe = []; | |
/** @type {boolean} */ | |
this.dl = false; | |
addEvent(document.body, "mousedown", bind(this.qz, this)); | |
addEvent(document.body, "mouseup", bind(this.rz, this)); | |
}; | |
/** | |
* @param {Function} fn | |
* @return {undefined} | |
*/ | |
_Input.prototype.addListener = function(fn) { | |
this.Fe.push(fn); | |
}; | |
/** | |
* @param {Object} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
_Input.prototype.qz = function(deepDataAndEvents) { | |
if (0 == deepDataAndEvents.button) { | |
var dl = this.dl; | |
/** @type {boolean} */ | |
this.dl = true; | |
if (!dl) { | |
this.Dk(true, deepDataAndEvents); | |
} | |
} | |
}; | |
/** | |
* @param {?} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
_Input.prototype.rz = function(deepDataAndEvents) { | |
var dl = this.dl; | |
/** @type {boolean} */ | |
this.dl = false; | |
if (dl) { | |
this.Dk(false, deepDataAndEvents); | |
} | |
}; | |
/** | |
* @param {boolean} recurring | |
* @param {?} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
_Input.prototype.Dk = function(recurring, deepDataAndEvents) { | |
/** @type {number} */ | |
var conditionIndex = 0; | |
for (;conditionIndex < this.Fe.length;conditionIndex++) { | |
this.Fe[conditionIndex](recurring, deepDataAndEvents); | |
} | |
}; | |
var resp = new _Input; | |
/** @type {boolean} */ | |
var isTouch = "Notification" in window; | |
/** @type {boolean} */ | |
var isWebkit = "webkitNotifications" in window; | |
var timeMap = {}; | |
/** | |
* @param {?} callback | |
* @return {undefined} | |
*/ | |
var requestPermission = function(callback) { | |
if (isTouch) { | |
Notification.requestPermission(function(dataAndEvents) { | |
if ("granted" == dataAndEvents) { | |
callback(); | |
} | |
}); | |
} else { | |
if (isWebkit) { | |
window.webkitNotifications.requestPermission(function() { | |
if (0 == window.webkitNotifications.checkPermission()) { | |
callback(); | |
} | |
}); | |
} | |
} | |
}; | |
/** | |
* @param {?} name | |
* @param {string} title | |
* @param {string} icon | |
* @param {Object} content | |
* @return {?} | |
*/ | |
var html5Notify = function(name, title, icon, content) { | |
var notification; | |
if (isTouch) { | |
/** @type {Notification} */ | |
notification = new Notification(title, { | |
tag : name, | |
icon : icon, | |
body : content | |
}); | |
} else { | |
if (isWebkit) { | |
/** @type {(Notification|null)} */ | |
notification = window.webkitNotifications.createNotification(icon, title, content); | |
notification.replaceId = name; | |
notification.show(); | |
} | |
} | |
if (!notification) { | |
return null; | |
} | |
timeMap[name] = notification; | |
/** | |
* @return {undefined} | |
*/ | |
notification.onclose = function() { | |
delete timeMap[name]; | |
}; | |
return notification; | |
}; | |
/** | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
var layer = function(name) { | |
if (name in timeMap) { | |
timeMap[name].close(); | |
} | |
}; | |
/** | |
* @param {string} selector | |
* @return {?} | |
*/ | |
var jQuery = function(selector) { | |
var doc; | |
if (!doc) { | |
/** @type {Document} */ | |
doc = window.document; | |
} | |
return selector.nodeType ? new klass([selector]) : new klass(doc.querySelectorAll(selector)); | |
}; | |
/** @type {Array} */ | |
var vendors = ["", "webkit", "moz", "ms", "o"]; | |
/** | |
* @param {string} data | |
* @return {?} | |
*/ | |
var get = function(data) { | |
/** @type {Element} */ | |
var el = document.createElement("div"); | |
/** @type {string} */ | |
el.innerHTML = data; | |
/** @type {Array} */ | |
data = []; | |
for (;el.firstChild;) { | |
data.push(el.removeChild(el.firstChild)); | |
} | |
return new klass(data); | |
}; | |
/** | |
* @param {Array} html | |
* @return {?} | |
*/ | |
var createAndInsertIframeForContent = function(html) { | |
/** @type {(Selection|null)} */ | |
var s = window.getSelection(); | |
var range; | |
if (s) { | |
if (0 < s.rangeCount) { | |
/** @type {(Range|null)} */ | |
range = s.getRangeAt(0); | |
} | |
} | |
s = createElement("iframe"); | |
s.setAttribute("sandbox", "allow-same-origin"); | |
s.ua(); | |
item.append(s); | |
var doc = s.get().contentWindow.document; | |
doc.open(); | |
doc.write(html); | |
doc.close(); | |
s.remove(); | |
if (s = window.getSelection()) { | |
if (0 == s.rangeCount) { | |
if (range) { | |
s.addRange(range); | |
} | |
} | |
} | |
return new klass([doc.body]); | |
}; | |
/** | |
* @param {string} name | |
* @param {string} type | |
* @return {?} | |
*/ | |
var createElement = function(name, type) { | |
/** @type {Element} */ | |
var elem = document.createElement(name); | |
if (type) { | |
/** @type {string} */ | |
elem.className = type; | |
} | |
return new klass([elem]); | |
}; | |
/** | |
* @param {string} string | |
* @return {?} | |
*/ | |
var apply = function(string) { | |
return new klass([document.createTextNode(string)]); | |
}; | |
var fields = {}; | |
/** @type {RegExp} */ | |
var rmultiDash = /([A-Z])/g; | |
/** | |
* @param {string} key | |
* @return {?} | |
*/ | |
var camelize = function(key) { | |
var value = fields[key]; | |
if (value) { | |
return value; | |
} | |
value = key.replace(rmultiDash, "-$1").toLowerCase(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < vendors.length;i++) { | |
var name = vendors[i]; | |
if (name && value.substr(0, name.length) == name) { | |
return fields[key] = "-" + value; | |
} | |
} | |
return fields[key] = value; | |
}; | |
var methodName = void 0; | |
/** | |
* @param {Object} element | |
* @param {?} selector | |
* @return {?} | |
*/ | |
var _query = function(element, selector) { | |
if (isFunction(methodName)) { | |
/** @type {null} */ | |
methodName = null; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < vendors.length;i++) { | |
var v = vendors[i]; | |
/** @type {string} */ | |
v = (v ? v + "M" : v + "m") + "atchesSelector"; | |
if (v in window.document.documentElement) { | |
/** @type {string} */ | |
methodName = v; | |
break; | |
} | |
} | |
} | |
if (methodName) { | |
return element[methodName] ? element[methodName](selector) : false; | |
} | |
v = (element.parentNode || document).querySelectorAll(selector); | |
/** @type {number} */ | |
i = 0; | |
for (;i < v.length;i++) { | |
if (v[i] == element) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
var values = {}; | |
/** | |
* @param {Object} ast | |
* @return {undefined} | |
*/ | |
var killEvent = function(ast) { | |
if (!ast.empty()) { | |
var key = pred(ast); | |
var value = values[key]; | |
if (!value) { | |
value = { | |
ji : ast.ji(), | |
kr : 0 | |
}; | |
values[key] = value; | |
} | |
value.kr++; | |
} | |
}; | |
/** | |
* @param {Object} ast | |
* @return {undefined} | |
*/ | |
var warn_unreachable = function(ast) { | |
if (!ast.empty()) { | |
var v = pred(ast); | |
var value = values[v]; | |
value.kr--; | |
if (!value.kr) { | |
delete values[v]; | |
if (20 >= value.ji) { | |
appendTo(ast, value.ji); | |
} | |
} | |
} | |
}; | |
/** @type {number} */ | |
var ELEMENT_NODE = 1; | |
/** @type {number} */ | |
var SELECT = 3; | |
/** | |
* @param {Array} obj | |
* @return {undefined} | |
*/ | |
var klass = function(obj) { | |
if (obj instanceof klass) { | |
obj = obj.q; | |
} else { | |
if (obj instanceof NodeList) { | |
/** @type {Array} */ | |
var self = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < obj.length;i++) { | |
self.push(obj[i]); | |
} | |
/** @type {Array} */ | |
obj = self; | |
} | |
} | |
/** @type {Array} */ | |
this.q = obj; | |
}; | |
/** @type {number} */ | |
var dk = 0; | |
/** | |
* @param {Object} key | |
* @return {?} | |
*/ | |
var pred = function(key) { | |
key = key.get(); | |
if (!key["dom.js.id"]) { | |
/** @type {number} */ | |
key["dom.js.id"] = ++dk; | |
} | |
return key["dom.js.id"]; | |
}; | |
/** | |
* @param {?} e | |
* @param {Function} func | |
* @return {undefined} | |
*/ | |
var expect = function(e, func) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < e.q.length;i++) { | |
var deferred = e.q[i]; | |
if (false === func.call(deferred, deferred, i)) { | |
break; | |
} | |
} | |
}; | |
self = klass.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.length = function() { | |
return this.q.length; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.empty = function() { | |
return 0 == this.q.length; | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
self.concat = function(v02) { | |
var target = toPaddedString(this.q); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < arguments.length;i++) { | |
var that = arguments[i]; | |
if (that instanceof klass) { | |
target = target.concat(that.q); | |
} else { | |
target.push(that); | |
} | |
} | |
return new klass(target); | |
}; | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.find = function(name) { | |
/** @type {Array} */ | |
var opts = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var c = this.q[i]; | |
if (c.nodeType != SELECT) { | |
c = c.querySelectorAll(name); | |
/** @type {number} */ | |
var k = 0; | |
for (;k < c.length;k++) { | |
opts.push(c[k]); | |
} | |
} | |
} | |
return new klass(opts); | |
}; | |
/** | |
* @param {?} obj | |
* @param {string} node | |
* @return {?} | |
*/ | |
var start = function(obj, node) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < obj.q.length;i++) { | |
var element = obj.q[i]; | |
if (element.nodeType != SELECT && element.querySelector(node)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {?} expr | |
* @return {?} | |
*/ | |
self.matches = function(expr) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (_query(this.q[i], expr)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {string} selector | |
* @return {?} | |
*/ | |
self.filter = function(selector) { | |
/** @type {Array} */ | |
var options = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (_query(this.q[i], selector)) { | |
options.push(this.q[i]); | |
} | |
} | |
return new klass(options); | |
}; | |
/** | |
* @param {string} child | |
* @return {?} | |
*/ | |
self.parent = function(child) { | |
/** @type {Array} */ | |
var eventPath = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var cur = this.q[i].parentNode; | |
for (;cur;cur = cur.parentNode) { | |
if (cur.nodeType == ELEMENT_NODE) { | |
if (child) { | |
if (_query(cur, child)) { | |
eventPath.push(cur); | |
break; | |
} | |
} else { | |
eventPath.push(cur); | |
break; | |
} | |
} | |
} | |
} | |
return new klass(eventPath); | |
}; | |
/** | |
* @param {?} value | |
* @return {?} | |
*/ | |
var trim = function(value) { | |
/** @type {Array} */ | |
var eventPath = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < value.q.length;i++) { | |
var cur = value.q[i].firstChild; | |
for (;null != cur;cur = cur.nextSibling) { | |
eventPath.push(cur); | |
} | |
} | |
return new klass(eventPath); | |
}; | |
/** | |
* @param {?} a | |
* @return {?} | |
*/ | |
var parent = function(a) { | |
return 2 > a.length() ? a : new klass([a.q[a.q.length - 1]]); | |
}; | |
/** | |
* @param {Object} e | |
* @return {?} | |
*/ | |
var calculate = function(e) { | |
return e.empty() ? e : new klass([e.q[0]]); | |
}; | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.g = function(name) { | |
/** @type {number} */ | |
var k = 0; | |
for (;k < this.q.length;k++) { | |
var cs = this.q[k]; | |
var classes = cs.className.split(" "); | |
/** @type {boolean} */ | |
var e = false; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < classes.length;i++) { | |
if (classes[i] == name) { | |
/** @type {boolean} */ | |
e = true; | |
break; | |
} | |
} | |
if (!e) { | |
classes.push(name); | |
cs.className = classes.join(" "); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.tz = function(name) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var item = this.q[i]; | |
if (item.classList) { | |
item.classList.add(name); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.k = function(name) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var stat = this.q[i]; | |
var classes = stat.className.split(" "); | |
/** @type {Array} */ | |
var results = []; | |
/** @type {number} */ | |
var index = 0; | |
for (;index < classes.length;index++) { | |
if (classes[index] != name) { | |
results.push(classes[index]); | |
} | |
} | |
/** @type {string} */ | |
stat.className = results.join(" "); | |
} | |
return this; | |
}; | |
/** | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
self.vz = function(optgroup) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var elt = this.q[i]; | |
if (elt.classList) { | |
elt.classList.remove(optgroup); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {RegExp} match | |
* @return {?} | |
*/ | |
self.$q = function(match) { | |
/** @type {number} */ | |
var k = 0; | |
for (;k < this.q.length;k++) { | |
var cs = this.q[k]; | |
var stack = cs.className.split(" "); | |
/** @type {Array} */ | |
var include = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < stack.length;i++) { | |
if (!match.test(stack[i])) { | |
include.push(stack[i]); | |
} | |
} | |
/** @type {string} */ | |
cs.className = include.join(" "); | |
} | |
return this; | |
}; | |
/** | |
* @param {RegExp} rneedsContext | |
* @return {?} | |
*/ | |
self.wz = function(rneedsContext) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var tile = this.q[i]; | |
if (tile.classList) { | |
/** @type {number} */ | |
var indexN10148 = 0; | |
for (;indexN10148 < tile.classList.length;indexN10148++) { | |
var optgroup = tile.classList.item(indexN10148); | |
if (rneedsContext.test(optgroup)) { | |
tile.classList.remove(optgroup); | |
} | |
} | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.j = function(name) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (this.q[i].className) { | |
var excludes = this.q[i].className.split(" "); | |
/** @type {number} */ | |
var j = 0; | |
for (;j < excludes.length;j++) { | |
if (excludes[j] == name) { | |
return true; | |
} | |
} | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.uz = function(name) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (this.q[i].classList && this.q[i].classList.contains(name)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
if ("classList" in document.createElement("p")) { | |
/** @type {function (string): ?} */ | |
klass.prototype.g = klass.prototype.tz; | |
/** @type {function (?): ?} */ | |
klass.prototype.k = klass.prototype.vz; | |
/** @type {function (RegExp): ?} */ | |
klass.prototype.$q = klass.prototype.wz; | |
/** @type {function (string): ?} */ | |
klass.prototype.j = klass.prototype.uz; | |
} | |
/** | |
* @param {Object} val | |
* @param {string} name | |
* @return {undefined} | |
*/ | |
var removeAttr = function(val, name) { | |
if (val.j(name)) { | |
val.k(name); | |
} else { | |
val.g(name); | |
} | |
}; | |
/** | |
* @param {?} value | |
* @param {string} type | |
* @param {boolean} name | |
* @return {?} | |
*/ | |
var addClass = function(value, type, name) { | |
return name ? value.g(type) : value.k(type); | |
}; | |
self = klass.prototype; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.getAttribute = function(name) { | |
return this.empty() ? null : this.get().getAttribute(name); | |
}; | |
/** | |
* @param {string} key | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.setAttribute = function(key, name) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
this.q[i].setAttribute(key, name); | |
} | |
return this; | |
}; | |
/** | |
* @param {string} attribute | |
* @return {?} | |
*/ | |
self.hasAttribute = function(attribute) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (this.q[i].hasAttribute(attribute)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {string} attrName | |
* @return {?} | |
*/ | |
self.removeAttribute = function(attrName) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
this.q[i].removeAttribute(attrName); | |
} | |
return this; | |
}; | |
/** | |
* @param {?} item | |
* @return {?} | |
*/ | |
var removeChild = function(item) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < item.q.length;i++) { | |
var elt = item.q[i]; | |
for (;elt.firstChild;) { | |
elt.removeChild(elt.firstChild); | |
} | |
} | |
return item; | |
}; | |
/** | |
* @param {Object} value | |
* @return {?} | |
*/ | |
var arrayContains = function(value) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < value.q.length;i++) { | |
if (value.q[i].firstChild) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.normalize = function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
this.q[i].normalize(); | |
} | |
return this; | |
}; | |
/** | |
* @param {?} v02 | |
* @return {?} | |
*/ | |
self.ca = function(v02) { | |
removeChild(this); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
this.q[i].appendChild(document.createTextNode(v02)); | |
} | |
return this; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.text = function() { | |
/** @type {string} */ | |
var text = ""; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var node = this.q[i]; | |
if (node.textContent) { | |
text += node.textContent; | |
} else { | |
if (node.nodeType == SELECT) { | |
text += node.data; | |
} | |
} | |
} | |
return text; | |
}; | |
/** | |
* @param {Object} e | |
* @param {string} prefix | |
* @return {?} | |
*/ | |
var _forEach = function(e, prefix) { | |
prefix = prefix || ""; | |
/** @type {Array} */ | |
var result = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < e.q.length;i++) { | |
var node = e.q[i]; | |
if (node.innerText) { | |
result.push(node.innerText); | |
} else { | |
if (node.textContent) { | |
console.warn("innerText not present, falling back on textContent"); | |
result.push(node.textContent); | |
} else { | |
if (node.nodeType == SELECT) { | |
result.push(node.data); | |
} | |
} | |
} | |
} | |
return result.join(prefix); | |
}; | |
/** | |
* @param {Object} el | |
* @return {?} | |
*/ | |
var check = function(el) { | |
el = el.ya(); | |
var cur = trim(el); | |
if (!(1 != cur.length())) { | |
if (!getComputedStyle(cur)) { | |
el = cur; | |
} | |
} | |
expect(el, function() { | |
var p = jQuery(this).find("li"); | |
expect(p, function() { | |
if (!parent(p).wa(jQuery(this))) { | |
jQuery(this).append(apply("\n")); | |
} | |
}); | |
}); | |
expect(el.find("th, td"), function() { | |
if (this.nextSibling) { | |
jQuery(this).append(apply("\t")); | |
} else { | |
jQuery(this).append(apply("\n")); | |
} | |
}); | |
expect(el.find("b"), function() { | |
text(jQuery(this), apply("**")).append(apply("**")); | |
}); | |
expect(el.find("i"), function() { | |
text(jQuery(this), apply("*")).append(apply("*")); | |
}); | |
expect(el.find("u"), function() { | |
text(jQuery(this), apply("_")).append(apply("_")); | |
}); | |
expect(el.find("li"), function() { | |
/** @type {number} */ | |
var buffer = 0; | |
var p = this.parentNode; | |
for (;p;) { | |
if (p.tagName == this.parentNode.tagName) { | |
buffer++; | |
} | |
p = p.parentNode; | |
} | |
var value = template(" ", buffer - 1); | |
expect(jQuery(this).find("br"), function() { | |
replace(jQuery(this), apply("\n" + value + " ")); | |
}); | |
if (this.parentNode && "OL" == this.parentNode.tagName) { | |
/** @type {number} */ | |
buffer = 1; | |
p = this.previousSibling; | |
for (;p;) { | |
if ("LI" == p.tagName) { | |
buffer++; | |
} | |
p = p.previousSibling; | |
} | |
value += buffer + ". "; | |
} else { | |
value += "* "; | |
} | |
text(jQuery(this), apply(value)); | |
}); | |
expect(el.find("h1"), function() { | |
text(jQuery(this), apply("# ")); | |
}); | |
expect(el.find("h2"), function() { | |
text(jQuery(this), apply("## ")); | |
}); | |
expect(el.find("h3"), function() { | |
text(jQuery(this), apply("### ")); | |
}); | |
/** @type {number} */ | |
cur = 0; | |
for (;cur < el.length();++cur) { | |
var c = jQuery(el.get(cur)).find("h1,h2,h3,p,ol,ul,table,pre"); | |
if (!c.empty() && (write(c, "pre") && text(c, apply("```\n")).append(apply("\n```")), c.append(apply("\n")), write(c, "table") || c.append(apply("\n")), 0 != cur)) { | |
var $this = jQuery(el.get(cur - 1)); | |
if (!$this.empty()) { | |
if (!start($this, "h1,h2,h3,p,ol,ul,table,pre")) { | |
text(c, apply("\n")); | |
} | |
} | |
} | |
} | |
expect(el.find("a"), function() { | |
var href = jQuery(this).text(); | |
if (href != this.href) { | |
jQuery(this).ca("[" + href + "](" + this.href + ")"); | |
} | |
}); | |
expect(el.find("img"), function() { | |
jQuery(this).ca("[Image: " + this.src + "]"); | |
}); | |
expect(el.find("br"), function() { | |
replace(jQuery(this), apply("\n")); | |
}); | |
return _forEach(el, ""); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.data = function(name) { | |
return this.getAttribute("data-" + name); | |
}; | |
/** | |
* @param {?} parent | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
var assertEquals = function(parent, optgroup) { | |
return parseInt(parent.data(optgroup), 10); | |
}; | |
/** | |
* @param {Object} element | |
* @param {string} name | |
* @return {?} | |
*/ | |
var attr = function(element, name) { | |
return element.hasAttribute("data-" + name); | |
}; | |
/** | |
* @param {string} type | |
* @param {string} name | |
* @return {?} | |
*/ | |
self.setData = function(type, name) { | |
return this.setAttribute("data-" + type, name); | |
}; | |
/** | |
* @param {Object} node | |
* @param {string} name | |
* @return {?} | |
*/ | |
var eventType = function(node, name) { | |
return node.removeAttribute("data-" + name); | |
}; | |
/** | |
* @param {(number|string)} value | |
* @param {string} val | |
* @return {?} | |
*/ | |
self.ja = function(value, val) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
/** @type {string} */ | |
this.q[i].style[value] = val; | |
} | |
return this; | |
}; | |
/** | |
* @param {?} element | |
* @param {?} opt_attributes | |
* @return {?} | |
*/ | |
var setStyle = function(element, opt_attributes) { | |
var name; | |
for (name in opt_attributes) { | |
var ref = opt_attributes[name]; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < element.q.length;i++) { | |
element.q[i].style[name] = ref; | |
} | |
} | |
return element; | |
}; | |
/** | |
* @param {(number|string)} p | |
* @return {?} | |
*/ | |
self.Zh = function(p) { | |
p = camelize(p); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (value(this.q[i].style, p)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {?} value | |
* @param {string} prop | |
* @return {?} | |
*/ | |
var css = function(value, prop) { | |
prop = camelize(prop); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < value.q.length;i++) { | |
value.q[i].style.removeProperty(prop); | |
} | |
return value; | |
}; | |
/** | |
* @param {?} e | |
* @return {?} | |
*/ | |
var renderBody = function(e) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < e.q.length;i++) { | |
var style = e.q[i].style; | |
for (;0 < style.length;) { | |
style.removeProperty(style.item(0)); | |
} | |
} | |
return e; | |
}; | |
/** | |
* @param {Object} result | |
* @param {Object} e | |
* @return {?} | |
*/ | |
var flattenTo = function(result, e) { | |
var results = e.q[0]; | |
if (results) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < result.q.length;i++) { | |
var el = result.q[i]; | |
/** @type {number} */ | |
var j = 0; | |
for (;j < results.style.length;j++) { | |
var t = results.style.item(j); | |
el.style[t] = results.style[t]; | |
} | |
} | |
} | |
return result; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.blur = function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var field = this.q[i]; | |
if (field.blur) { | |
field.blur(); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.focus = function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var temp = this.q[i]; | |
if (temp.focus) { | |
temp.focus(); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {?} s | |
* @param {?} item | |
* @return {?} | |
*/ | |
var text = function(s, item) { | |
var cell = s.q[0]; | |
if (cell) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < item.q.length;i++) { | |
var fragment = item.q[i]; | |
if (cell.firstChild) { | |
cell.insertBefore(fragment, cell.firstChild); | |
} else { | |
cell.appendChild(fragment); | |
} | |
} | |
} | |
return s; | |
}; | |
/** | |
* @param {?} data | |
* @return {?} | |
*/ | |
self.append = function(data) { | |
var id = this.q[0]; | |
if (id) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < data.q.length;i++) { | |
id.appendChild(data.q[i]); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {?} a | |
* @return {?} | |
*/ | |
self.insertBefore = function(a) { | |
if (a = a.q[0]) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var node = this.q[i]; | |
if (a.previousSibling != node) { | |
a.parentNode.insertBefore(node, a); | |
} | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {Object} a | |
* @param {?} value | |
* @return {?} | |
*/ | |
var parseInt = function(a, value) { | |
var element = value.q[0]; | |
if (element) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < a.q.length;i++) { | |
var parent = a.q[i]; | |
if (element.nextSibling) { | |
if (element.nextSibling != parent) { | |
element.parentNode.insertBefore(parent, element.nextSibling); | |
} | |
} else { | |
if (parent.previousSibling != element) { | |
element.parentNode.appendChild(parent); | |
} | |
} | |
} | |
} | |
return a; | |
}; | |
/** | |
* @param {Object} e | |
* @return {?} | |
*/ | |
self.Pg = function(e) { | |
if (e.empty() || this.empty()) { | |
return false; | |
} | |
e = e.get().previousSibling; | |
for (;null != e;e = e.previousSibling) { | |
if (e == this.get()) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {?} obj | |
* @param {?} data | |
* @return {undefined} | |
*/ | |
var replace = function(obj, data) { | |
/** @type {number} */ | |
var t = Math.min(obj.q.length, data.q.length); | |
if (t) { | |
/** @type {boolean} */ | |
var n = true; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < t;i++) { | |
if (!obj.q[i].parentNode) { | |
/** @type {boolean} */ | |
n = false; | |
break; | |
} | |
} | |
if (n) { | |
/** @type {number} */ | |
i = 0; | |
for (;i < t;i++) { | |
obj.q[i].parentNode.replaceChild(data.q[i], obj.q[i]); | |
} | |
} else { | |
/** @type {number} */ | |
t = 0; | |
} | |
} | |
if (t) { | |
i = data.q[t - 1]; | |
n = i.parentNode; | |
var a = i.nextSibling; | |
/** @type {number} */ | |
i = t; | |
for (;i < data.q.length;i++) { | |
n.insertBefore(data.q[i], a); | |
} | |
/** @type {number} */ | |
i = t; | |
for (;i < obj.q.length;i++) { | |
t = obj.q[i]; | |
if (t.parentNode) { | |
t.parentNode.removeChild(t); | |
} | |
} | |
} else { | |
data.insertBefore(obj); | |
obj.remove(); | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.next = function() { | |
/** @type {Array} */ | |
var eventPath = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var cur = this.q[i].nextSibling; | |
if (cur) { | |
eventPath.push(cur); | |
} | |
} | |
return new klass(eventPath); | |
}; | |
/** | |
* @param {?} cur | |
* @return {?} | |
*/ | |
var sibling = function(cur) { | |
/** @type {Array} */ | |
var rule = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < cur.q.length;i++) { | |
var line = cur.q[i]; | |
for (;;) { | |
if (line = line.nextSibling) { | |
rule.push(line); | |
} else { | |
break; | |
} | |
} | |
} | |
return new klass(rule); | |
}; | |
/** | |
* @param {Object} b | |
* @return {?} | |
*/ | |
var l = function(b) { | |
/** @type {Array} */ | |
var eventPath = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < b.q.length;i++) { | |
var cur = b.q[i].previousSibling; | |
if (cur) { | |
eventPath.push(cur); | |
} | |
} | |
return new klass(eventPath); | |
}; | |
/** | |
* @param {Object} name | |
* @param {number} suppressEvents | |
* @return {?} | |
*/ | |
var appendChild = function(name, suppressEvents) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < name.q.length;i++) { | |
if (name.q[i].nodeType == suppressEvents) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {Object} node | |
* @param {string} name | |
* @return {?} | |
*/ | |
var write = function(node, name) { | |
name = name.toUpperCase(); | |
/** @type {number} */ | |
var i = 0; | |
var element; | |
for (;element = node.q[i];i++) { | |
if (element.nodeType == ELEMENT_NODE && element.nodeName == name) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {number} key | |
* @return {?} | |
*/ | |
self.get = function(key) { | |
key = key || 0; | |
return key >= this.q.length ? null : this.q[key]; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.show = function() { | |
css(this, "display"); | |
this.k("explicitlyhidden"); | |
if ("none" == this.style("display")) { | |
this.ja("display", "block"); | |
} | |
return this; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ua = function() { | |
/** @type {boolean} */ | |
var a = true; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
a &= jQuery(this.q[i]).j("explicitlyhidden"); | |
} | |
if (a) { | |
return this; | |
} | |
this.g("explicitlyhidden"); | |
return this.ja("display", "none"); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Jb = function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var node = this.q[i]; | |
if ("none" == node.style.display) { | |
return false; | |
} | |
if (node.currentStyle) { | |
if ("none" == node.currentStyle.display) { | |
return false; | |
} | |
} else { | |
if (window.getComputedStyle && "none" == document.defaultView.getComputedStyle(node, null).display) { | |
return false; | |
} | |
} | |
} | |
return true; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.remove = function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var t = this.q[i]; | |
if (t.parentNode) { | |
t.parentNode.removeChild(t); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {Object} el | |
* @return {?} | |
*/ | |
var getElementById = function(el) { | |
return(el = el.get()) ? document.documentElement.contains(el) : false; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.disable = function() { | |
return this.setAttribute("disabled", "disabled"); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.enable = function() { | |
return this.removeAttribute("disabled"); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.clear = function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var elem = this.q[i]; | |
if ("TEXTAREA" == elem.tagName) { | |
for (;elem.firstChild;) { | |
elem.removeChild(elem.firstChild); | |
} | |
/** @type {string} */ | |
elem.value = ""; | |
} else { | |
if ("INPUT" == elem.tagName) { | |
if ("hidden" != elem.type) { | |
/** @type {string} */ | |
elem.value = ""; | |
} | |
} | |
} | |
} | |
return this; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.value = function() { | |
return this.empty() ? null : this.get().value; | |
}; | |
/** | |
* @param {?} value | |
* @return {?} | |
*/ | |
self.af = function(value) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
this.q[i].value = value; | |
} | |
return this; | |
}; | |
/** | |
* @param {Function} type | |
* @param {Function} handler | |
* @return {?} | |
*/ | |
self.addListener = function(type, handler) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
addEvent(this.q[i], type, handler); | |
} | |
return this; | |
}; | |
/** | |
* @param {string} type | |
* @param {Function} opt_capt | |
* @return {?} | |
*/ | |
self.uh = function(type, opt_capt) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
addListener(this.q[i], type, opt_capt); | |
} | |
return this; | |
}; | |
/** | |
* @param {?} self | |
* @param {Function} callback | |
* @return {undefined} | |
*/ | |
var off = function(self, callback) { | |
if (getObject()) { | |
var expr = self.transitionDuration(); | |
if (expr && self.q.length) { | |
/** @type {boolean} */ | |
var d = false; | |
var id = push(function() { | |
if (!d) { | |
removeListener(listener); | |
/** @type {boolean} */ | |
d = true; | |
callback(); | |
} | |
}, 2E3 * expr); | |
var listener = addListener(self.q[0], "transitionend", function() { | |
if (!d) { | |
protectedClearTimeout(id); | |
/** @type {boolean} */ | |
d = true; | |
callback(); | |
} | |
}); | |
} else { | |
self.uh("transitionend", callback); | |
} | |
} else { | |
callback(); | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.height = function() { | |
return this.empty() ? 0 : this.get().offsetHeight; | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.Sa = function(opt_attributes) { | |
return this.ja("height", opt_attributes + "px"); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.width = function() { | |
return this.empty() ? 0 : this.get().offsetWidth; | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
self.gb = function(opt_attributes) { | |
return this.ja("width", opt_attributes + "px"); | |
}; | |
/** | |
* @param {?} $elem | |
* @param {number} val | |
* @return {?} | |
*/ | |
var val = function($elem, val) { | |
return $elem.ja("top", val + "px"); | |
}; | |
/** | |
* @param {?} $this | |
* @param {number} recurring | |
* @return {?} | |
*/ | |
var runCallbacks = function($this, recurring) { | |
return $this.ja("bottom", recurring + "px"); | |
}; | |
/** | |
* @param {?} node | |
* @param {number} x | |
* @return {?} | |
*/ | |
var setSize = function(node, x) { | |
return node.ja("left", x + "px"); | |
}; | |
/** | |
* @param {Object} element | |
* @param {number} value | |
* @return {?} | |
*/ | |
var getDimensions = function(element, value) { | |
return element.ja("right", value + "px"); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.style = function(name) { | |
if (this.empty()) { | |
return null; | |
} | |
var element = this.get(); | |
if (element.nodeType == ELEMENT_NODE) { | |
if (element.currentStyle) { | |
return element.currentStyle[name]; | |
} | |
if (window.getComputedStyle) { | |
return document.defaultView.getComputedStyle(element, null)[name]; | |
} | |
} | |
return null; | |
}; | |
/** | |
* @param {?} optgroup | |
* @return {?} | |
*/ | |
var fromPx = function(optgroup) { | |
return function() { | |
var widthAttr = this.style(optgroup); | |
return widthAttr ? parseFloat(widthAttr) : 0; | |
}; | |
}; | |
self.paddingLeft = fromPx("paddingLeft"); | |
self.paddingRight = fromPx("paddingRight"); | |
self.borderTop = fromPx("borderTopWidth"); | |
self.borderBottom = fromPx("borderBottomWidth"); | |
self.borderLeft = fromPx("borderLeftWidth"); | |
self.borderRight = fromPx("borderRightWidth"); | |
self.marginTop = fromPx("marginTop"); | |
self.marginBottom = fromPx("marginBottom"); | |
self.marginLeft = fromPx("marginLeft"); | |
self.fontSize = fromPx("fontSize"); | |
self.vA = fromPx("top"); | |
self.Sz = fromPx("right"); | |
self.transitionDuration = fromPx("transitionDuration"); | |
/** | |
* @return {?} | |
*/ | |
self.lineHeight = function() { | |
var state = fromPx("lineHeight").call(this); | |
return isNaN(state) ? this.fontSize() : state; | |
}; | |
/** | |
* @param {?} elem | |
* @return {?} | |
*/ | |
var getComputedStyle = function(elem) { | |
return elem.get() instanceof Element ? "inline" == elem.style("display") : false; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.submit = function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
this.q[i].submit(); | |
} | |
return this; | |
}; | |
/** | |
* @param {Object} position | |
* @return {?} | |
*/ | |
var _qwery = function(position) { | |
position = position.ga(); | |
return{ | |
left : position.left, | |
top : position.top | |
}; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ga = function() { | |
var bb = this.get().getBoundingClientRect(); | |
return{ | |
left : Math.round(bb.left), | |
top : Math.round(bb.top), | |
right : Math.round(bb.right), | |
bottom : Math.round(bb.bottom), | |
width : Math.round(bb.width), | |
height : Math.round(bb.height) | |
}; | |
}; | |
/** | |
* @param {Object} node | |
* @param {HTMLElement} parent | |
* @return {?} | |
*/ | |
var rect = function(node, parent) { | |
var to = node.get().getBoundingClientRect(); | |
var position = parent.get().getBoundingClientRect(); | |
/** @type {number} */ | |
var sMin = 0; | |
/** @type {number} */ | |
var lMin = 0; | |
if (parent.contains(node)) { | |
sMin = parent.scrollLeft(); | |
lMin = parent.scrollTop(); | |
} | |
return{ | |
left : Math.round(to.left - position.left + sMin), | |
top : Math.round(to.top - position.top + lMin), | |
right : Math.round(to.right - position.left + sMin), | |
bottom : Math.round(to.bottom - position.top + lMin), | |
width : Math.round(to.width), | |
height : Math.round(to.height) | |
}; | |
}; | |
/** | |
* @param {boolean} node | |
* @return {?} | |
*/ | |
self.scrollIntoView = function(node) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var link = this.q[i]; | |
if (link.scrollIntoViewIfNeeded) { | |
link.scrollIntoViewIfNeeded(false); | |
} else { | |
link.scrollIntoView(node); | |
} | |
} | |
return this; | |
}; | |
/** | |
* @param {Object} obj | |
* @param {string} key | |
* @return {?} | |
*/ | |
var peek = function(obj, key) { | |
if (obj.empty()) { | |
return null; | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < vendors.length;i++) { | |
var v = vendors[i]; | |
v = v ? v + key[0].toUpperCase() + key.substr(1) : key; | |
if (exec(obj.get().style[v])) { | |
return v; | |
} | |
} | |
return null; | |
}; | |
/** | |
* @param {?} style | |
* @param {string} name | |
* @param {string} property | |
* @return {?} | |
*/ | |
var vendor = function(style, name, property) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < vendors.length;i++) { | |
var m = vendors[i]; | |
style.ja(m ? m + name[0].toUpperCase() + name.substr(1) : name, property); | |
} | |
return style; | |
}; | |
/** | |
* @param {Object} body | |
* @return {?} | |
*/ | |
var _reorderListItem = function(body) { | |
if (body.empty()) { | |
return 0; | |
} | |
body = body.get(); | |
return(body.scrollTop + body.clientHeight) / body.scrollHeight; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.scrollLeft = function() { | |
return this.empty() ? 0 : this.get().scrollLeft; | |
}; | |
/** | |
* @param {?} label | |
* @param {number} value | |
* @return {undefined} | |
*/ | |
var formatter = function(label, value) { | |
if (!label.empty()) { | |
/** @type {number} */ | |
label.get().scrollLeft = value; | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.scrollTop = function() { | |
return this.empty() ? 0 : this.get().scrollTop; | |
}; | |
/** | |
* @param {Object} target | |
* @param {number} value | |
* @return {undefined} | |
*/ | |
var getOwnPropertyDescriptor = function(target, value) { | |
if (!target.empty()) { | |
/** @type {number} */ | |
target.get().scrollTop = value; | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ji = function() { | |
if (this.empty()) { | |
return 0; | |
} | |
var body = this.get(); | |
return body.scrollHeight - (body.scrollTop + body.clientHeight); | |
}; | |
/** | |
* @param {?} input | |
* @param {number} mayParseLabeledStatementInstead | |
* @return {undefined} | |
*/ | |
var appendTo = function(input, mayParseLabeledStatementInstead) { | |
if (!input.empty()) { | |
var textarea = input.get(); | |
/** @type {number} */ | |
textarea.scrollTop = textarea.scrollHeight - textarea.clientHeight - mayParseLabeledStatementInstead; | |
} | |
}; | |
/** | |
* @param {?} data | |
* @return {?} | |
*/ | |
var parents = function(data) { | |
var separator; | |
/** @type {string} */ | |
separator = separator || ""; | |
/** @type {Array} */ | |
var string = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < data.q.length;i++) { | |
var obj = data.q[i]; | |
if (obj.innerHTML) { | |
string.push(obj.innerHTML); | |
} else { | |
if (obj.nodeType == SELECT) { | |
string.push(tmpl(obj.data)); | |
} | |
} | |
} | |
return string.join(separator); | |
}; | |
/** | |
* @param {?} e | |
* @param {string} value | |
* @return {?} | |
*/ | |
var indexOf = function(e, value) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < e.q.length;i++) { | |
/** @type {string} */ | |
e.q[i].innerHTML = value; | |
} | |
return e; | |
}; | |
/** | |
* @param {?} value | |
* @return {?} | |
*/ | |
var h = function(value) { | |
var separator; | |
/** @type {string} */ | |
separator = separator || ""; | |
/** @type {Array} */ | |
var result = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < value.q.length;i++) { | |
var el = value.q[i]; | |
if (el.outerHTML) { | |
result.push(el.outerHTML); | |
} else { | |
if (el.nodeType == SELECT) { | |
result.push(tmpl(el.data)); | |
} | |
} | |
} | |
return result.join(separator); | |
}; | |
/** | |
* @param {?} keepData | |
* @return {?} | |
*/ | |
self.wa = function(keepData) { | |
if (keepData.q.length != this.q.length) { | |
return false; | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (this.q[i] != keepData.q[i]) { | |
return false; | |
} | |
} | |
return true; | |
}; | |
/** | |
* @param {(Object|boolean|number|string)} data | |
* @return {?} | |
*/ | |
self.ya = function(data) { | |
data = data || isFunction(data); | |
/** @type {Array} */ | |
var script = []; | |
/** @type {number} */ | |
var i = 0; | |
var part; | |
for (;part = this.q[i];i++) { | |
script.push(part.cloneNode(data)); | |
} | |
return new klass(script); | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
self.contains = function(name) { | |
/** @type {number} */ | |
var idx = 0; | |
for (;idx < name.q.length;idx++) { | |
var ua = name.q[idx]; | |
/** @type {boolean} */ | |
var d = false; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (this.q[i].contains(ua)) { | |
/** @type {boolean} */ | |
d = true; | |
break; | |
} | |
} | |
if (!d) { | |
return false; | |
} | |
} | |
return true; | |
}; | |
/** | |
* @param {number} source | |
* @return {?} | |
*/ | |
self.jj = function(source) { | |
/** @type {number} */ | |
var j = 0; | |
for (;j < source.q.length;j++) { | |
var b = source.q[j]; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (!(this.q[i].compareDocumentPosition(b) & Node.DOCUMENT_POSITION_PRECEDING)) { | |
return false; | |
} | |
} | |
} | |
return true; | |
}; | |
/** | |
* @param {?} size | |
* @param {Object} options | |
* @return {undefined} | |
*/ | |
self.scale = function(size, options) { | |
options = options || this.ga(); | |
/** @type {number} */ | |
var c = size.width / options.width; | |
/** @type {number} */ | |
var d = size.height / options.height; | |
vendor(this, "transformOrigin", Math.round((size.left - options.left) / (1 - c)) + "px " + Math.round((size.top - options.top) / (1 - d)) + "px"); | |
vendor(this, "transform", "scale(" + c + "," + d + ")"); | |
}; | |
/** | |
* @param {Function} arr | |
* @return {undefined} | |
*/ | |
self.sort = function(arr) { | |
if (!(2 > this.q.length)) { | |
/** @type {Array} */ | |
var nodes = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
var node = this.q[i]; | |
/** @type {number} */ | |
node["dom.js.nodeSortIndex"] = i; | |
nodes.push(node); | |
} | |
nodes.sort(function($rootScope, protoProps) { | |
var child = arr($rootScope, protoProps); | |
return 0 != child ? child : $rootScope["dom.js.nodeSortIndex"] - protoProps["dom.js.nodeSortIndex"]; | |
}); | |
/** @type {boolean} */ | |
var ancestor = true; | |
/** @type {number} */ | |
i = 0; | |
for (;i < this.q.length;i++) { | |
node = nodes[i]; | |
var type = node["dom.js.nodeSortIndex"]; | |
delete node["dom.js.nodeSortIndex"]; | |
if (type != i) { | |
/** @type {boolean} */ | |
ancestor = false; | |
} | |
} | |
if (!ancestor) { | |
ancestor = nodes[0]; | |
/** @type {number} */ | |
i = 1; | |
for (;i < nodes.length;i++) { | |
node = nodes[i]; | |
node.parentNode.insertBefore(node, ancestor.nextSibling); | |
ancestor = node; | |
} | |
} | |
} | |
}; | |
/** | |
* @param {?} node | |
* @param {?} offset | |
* @return {?} | |
*/ | |
var assertValidOffset = function(node, offset) { | |
/** @type {(Range|null)} */ | |
var nodeRange = document.createRange(); | |
nodeRange.setStart(node.q[0], offset); | |
return nodeRange; | |
}; | |
/** | |
* @param {?} v | |
* @param {boolean} mayParseLabeledStatementInstead | |
* @return {?} | |
*/ | |
var ok = function(v, mayParseLabeledStatementInstead) { | |
expect(v, function() { | |
/** @type {boolean} */ | |
this.contentEditable = mayParseLabeledStatementInstead; | |
}); | |
return v; | |
}; | |
/** | |
* @param {?} length | |
* @param {?} draggable | |
* @return {undefined} | |
*/ | |
var expectData = function(length, draggable) { | |
expect(length, function() { | |
this.draggable = draggable; | |
}); | |
}; | |
/** | |
* @param {?} item | |
* @return {?} | |
*/ | |
var updater = function(item) { | |
item.height(); | |
return item; | |
}; | |
var item = jQuery(document.body); | |
var attrs = peek(item, "transition"); | |
var pdataCur = peek(item, "transform"); | |
/** | |
* @return {?} | |
*/ | |
var valueAccessor = function() { | |
return exec(cmd) ? "small" == cmd : _isSafari ? !_tryInitOnFocus : isContentHeight ? 630 > Math.min(window.innerWidth, window.innerHeight) : false; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var getPropertyValue = function() { | |
return exec(cmd) ? "medium" == cmd : false; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var adjust = function() { | |
addClass(addClass(item, "small-screen", valueAccessor()), "medium-screen", getPropertyValue()); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var getDevice = function() { | |
addClass(addClass(item, "tablet", exec(code) ? code : _isSafari ? _tryInitOnFocus : false), "phone", urlEncodeIfNecessary()); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var urlEncodeIfNecessary = function() { | |
return(_isSafari || isContentHeight) && !(exec(code) ? code : _isSafari && _tryInitOnFocus); | |
}; | |
var isCORS; | |
var q; | |
var isHorizontal; | |
var err; | |
var _isSafari; | |
var _tryInitOnFocus; | |
var isContentHeight; | |
var applyIfNotSet; | |
var external; | |
var intWidth; | |
var ci; | |
var cmd; | |
var code; | |
/** @type {string} */ | |
var ua = navigator.userAgent.toLowerCase(); | |
/** @type {boolean} */ | |
isCORS = -1 != ua.indexOf("webkit"); | |
/** @type {boolean} */ | |
isContentHeight = -1 != ua.indexOf("android"); | |
/** @type {boolean} */ | |
applyIfNotSet = -1 != ua.indexOf("chrome"); | |
/** @type {boolean} */ | |
external = -1 != ua.indexOf("gecko") && -1 == ua.indexOf("like gecko"); | |
/** @type {boolean} */ | |
ci = -1 != ua.indexOf("opera"); | |
/** @type {number} */ | |
q = -1; | |
if (isCORS) { | |
/** @type {(Array.<string>|null)} */ | |
var version = /applewebkit\/([\d.]+)/.exec(ua); | |
if (version) { | |
/** @type {number} */ | |
q = parseFloat(version[1]); | |
} | |
} | |
/** @type {number} */ | |
intWidth = -1; | |
if (external) { | |
if (version = /rv:([\d.]+)\)/.exec(ua)) { | |
/** @type {number} */ | |
intWidth = parseFloat(version[1]); | |
} | |
} | |
/** @type {string} */ | |
var userAgent = navigator.platform; | |
/** @type {boolean} */ | |
isHorizontal = 0 == userAgent.indexOf("Win"); | |
/** @type {boolean} */ | |
err = 0 == userAgent.indexOf("Mac"); | |
/** @type {boolean} */ | |
_isSafari = !checkElements(userAgent.match(/^(iPad|iPhone|iPod)/)) || -1 != location.search.indexOf("debug_useragent=ios"); | |
/** @type {boolean} */ | |
_tryInitOnFocus = !checkElements(userAgent.match(/^(iPad)/)); | |
if (_isSafari) { | |
item.g("ios"); | |
} | |
if (isContentHeight) { | |
item.g("android"); | |
} | |
cmd = void 0; | |
adjust(); | |
code = void 0; | |
getDevice(); | |
if (isCORS) { | |
item.g("webkit"); | |
} | |
if (-1 < q) { | |
if (537 > q) { | |
item.g("webkit-536"); | |
} | |
} | |
if (external) { | |
item.g("gecko"); | |
} | |
append("userAgent.isAndroid", function() { | |
return isContentHeight; | |
}); | |
append("userAgent.isIOs", function() { | |
return _isSafari; | |
}); | |
/** @type {boolean} */ | |
var gl = false; | |
var KEY_ACTION_MAPPINGS = {}; | |
var cur = {}; | |
/** @type {boolean} */ | |
var jl = false; | |
/** | |
* @param {number} line | |
* @param {number} val | |
* @param {Function} e | |
* @return {?} | |
*/ | |
var handleEvent = function(line, val, e) { | |
if (!gl) { | |
addEvent(document, "keydown", keydown); | |
if (isHorizontal) { | |
addEvent(document, "keypress", clearModifier); | |
addEvent(document, "keyup", basePrototype); | |
} | |
/** @type {boolean} */ | |
gl = true; | |
} | |
var tok = new configure(line, val); | |
if (val & indents) { | |
val &= ~indents; | |
/** @type {number} */ | |
val = err ? val | STACK_ATTACHED : val | timeout; | |
} | |
/** @type {Array} */ | |
var lines = [line]; | |
if (48 <= line) { | |
if (57 >= line) { | |
lines.push(line + 48); | |
} | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < lines.length;i++) { | |
line = lines[i]; | |
if (!(line in KEY_ACTION_MAPPINGS)) { | |
/** @type {Array} */ | |
KEY_ACTION_MAPPINGS[line] = []; | |
} | |
KEY_ACTION_MAPPINGS[line].push({ | |
Jq : val, | |
/** @type {Function} */ | |
Pk : e, | |
iy : tok | |
}); | |
} | |
return tok; | |
}; | |
/** | |
* @param {number} c | |
* @param {number} val | |
* @return {undefined} | |
*/ | |
var configure = function(c, val) { | |
/** @type {number} */ | |
this.keyCode = c; | |
/** @type {number} */ | |
this.Jq = val; | |
/** @type {null} */ | |
this.xo = null; | |
/** @type {Array} */ | |
var modifiers = []; | |
if (val & indents) { | |
modifiers.push("Mod"); | |
} | |
if (val & STACK_ATTACHED) { | |
modifiers.push("Meta"); | |
} | |
if (val & timeout) { | |
modifiers.push("Ctrl"); | |
} | |
if (val & backgroundLayerMask) { | |
modifiers.push("Shift"); | |
} | |
if (val & ERROR_HANDLED) { | |
modifiers.push("Alt"); | |
} | |
var g = "0x" + c.toString(16); | |
if (9 == c) { | |
/** @type {string} */ | |
g = "Tab"; | |
} else { | |
if (13 == c) { | |
/** @type {string} */ | |
g = "Return"; | |
} else { | |
if (27 == c) { | |
/** @type {string} */ | |
g = "Esc"; | |
} else { | |
if (191 == c) { | |
/** @type {string} */ | |
g = "/"; | |
} else { | |
if (192 == c) { | |
/** @type {string} */ | |
g = "`"; | |
} else { | |
if (38 == c) { | |
/** @type {string} */ | |
g = "\u2191"; | |
} else { | |
if (40 == c) { | |
/** @type {string} */ | |
g = "\u2193"; | |
} else { | |
if (32 < c) { | |
if (127 > c) { | |
/** @type {string} */ | |
g = String.fromCharCode(c); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
modifiers.push(g); | |
/** @type {string} */ | |
this.oz = modifiers.join("-"); | |
}; | |
/** | |
* @param {?} object | |
* @param {?} callback | |
* @return {?} | |
*/ | |
var seal = function(object, callback) { | |
object.xo = callback; | |
return object; | |
}; | |
/** | |
* @param {?} object | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @param {?} description | |
* @return {?} | |
*/ | |
var getEnumerableProperties = function(object, expectedNumberOfNonCommentArgs, description) { | |
object.description = description; | |
if (!(expectedNumberOfNonCommentArgs in cur)) { | |
/** @type {Array} */ | |
cur[expectedNumberOfNonCommentArgs] = []; | |
} | |
cur[expectedNumberOfNonCommentArgs].push(object); | |
return object; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
configure.prototype.Dd = function() { | |
maybeCallback("keyboard_shortcut", { | |
shortcut : this.oz | |
}); | |
}; | |
/** | |
* @param {Object} event | |
* @return {undefined} | |
*/ | |
var keydown = function(event) { | |
if ("keydown" == event.type && simulateMouseEvent(event)) { | |
/** @type {boolean} */ | |
jl = false; | |
} else { | |
if ((event.metaKey || event.ctrlKey) && event.keyCode in KEY_ACTION_MAPPINGS) { | |
/** @type {number} */ | |
var YYSTATE = YY_START; | |
if (event.shiftKey) { | |
YYSTATE |= backgroundLayerMask; | |
} | |
if (event.altKey) { | |
YYSTATE |= ERROR_HANDLED; | |
} | |
if (event.metaKey) { | |
YYSTATE |= STACK_ATTACHED; | |
} | |
if (event.ctrlKey) { | |
YYSTATE |= timeout; | |
} | |
var resultItems = KEY_ACTION_MAPPINGS[event.keyCode]; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < resultItems.length;i++) { | |
var result = resultItems[i]; | |
if (result.Jq == YYSTATE) { | |
if (result.Pk(jQuery(event.target))) { | |
stopEvent(event); | |
} | |
result.iy.Dd(); | |
break; | |
} | |
} | |
} | |
} | |
}; | |
/** | |
* @param {Object} event | |
* @return {?} | |
*/ | |
var simulateMouseEvent = function(event) { | |
return isHorizontal && (!external && (event.ctrlKey && (event.altKey && !event.shiftKey))); | |
}; | |
/** | |
* @param {Object} event | |
* @return {undefined} | |
*/ | |
var clearModifier = function(event) { | |
if (32 < event.keyCode) { | |
if (simulateMouseEvent(event)) { | |
/** @type {boolean} */ | |
jl = true; | |
} | |
} | |
}; | |
/** | |
* @param {Object} qualifier | |
* @return {undefined} | |
*/ | |
var basePrototype = function(qualifier) { | |
if (!jl) { | |
if (simulateMouseEvent(qualifier)) { | |
keydown(qualifier); | |
} | |
} | |
}; | |
/** @type {number} */ | |
var YY_START = 0; | |
/** @type {number} */ | |
var backgroundLayerMask = 1; | |
/** @type {number} */ | |
var ERROR_HANDLED = 2; | |
/** @type {number} */ | |
var STACK_ATTACHED = 4; | |
/** @type {number} */ | |
var timeout = 8; | |
/** @type {number} */ | |
var indents = 16; | |
/** | |
* @return {undefined} | |
*/ | |
var Tab = function() { | |
/** | |
* @param {number} dir | |
* @param {?} value | |
* @return {undefined} | |
*/ | |
function init(dir, value) { | |
var codeSegments = cur[dir] || []; | |
value.append(createElement("label").ca(newline(dir))); | |
var display = createElement("section"); | |
value.append(display); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var data = codeSegments[i]; | |
/** | |
* @param {Object} canvas | |
* @return {?} | |
*/ | |
var render = function(canvas) { | |
var codeSegments = getCompletions(canvas.Jq); | |
codeSegments.push(_mapKeycodeToKey(canvas.keyCode)); | |
canvas = createElement("span"); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
canvas.append(createElement("div", "key").ca(codeSegments[i])); | |
} | |
return canvas; | |
}; | |
var list = createElement("div", "keys"); | |
if (data.xo) { | |
indexOf(list, callback("%(shortcut1)s or %(shortcut2)s [List of two sets of keyboard shortcuts that trigger the same behavior]", { | |
shortcut1 : h(render(data)), | |
shortcut2 : h(render(data.xo)) | |
})); | |
} else { | |
list.append(render(data)); | |
} | |
display.append(createElement("div", "shortcut").append(list).append(createElement("div", "description").ca(data.description))); | |
} | |
} | |
if (jQuery(".shortcuts-cheat-sheet.dialog").empty()) { | |
var pdataCur = createElement("h1").ca(callback("Keyboard Shortcuts")); | |
var row = createElement("div", "column"); | |
var udataCur = row.ya(); | |
var table = createElement("div", "body").append(row).append(udataCur); | |
init(0, row); | |
init(1, row); | |
init(2, udataCur); | |
if (getNativeElement()) { | |
row = createElement("div", "debug"); | |
init(3, row); | |
table.append(row); | |
pdataCur.append(createElement("div").ca("Debug shortcuts").setData("click", "toggle-debug-shortcuts")); | |
} | |
is(createElement("div", "shortcuts-cheat-sheet dialog").append(pdataCur).append(createElement("div", "body").append(table))); | |
} else { | |
close(); | |
} | |
}; | |
/** | |
* @param {number} m | |
* @return {?} | |
*/ | |
var newline = function(m) { | |
switch(m) { | |
case 0: | |
return callback("Anywhere"); | |
case 1: | |
return callback("Style"); | |
case 2: | |
return callback("Editing"); | |
case 3: | |
return "Debug"; | |
} | |
return ""; | |
}; | |
/** | |
* @param {number} key | |
* @return {?} | |
*/ | |
var _mapKeycodeToKey = function(key) { | |
if (key >= keys.A && key <= keys.Z || 48 <= key && 57 >= key) { | |
return String.fromCharCode(key); | |
} | |
if (96 <= key && 105 >= key) { | |
return String.fromCharCode(48 + key - 96); | |
} | |
switch(key) { | |
case 9: | |
return callback("Tab [Keyboard key name]"); | |
case 13: | |
return callback("Return [Keyboard key name]"); | |
case 27: | |
return callback("Escape [Keyboard key name]"); | |
case 191: | |
return "/"; | |
case 192: | |
return callback("` (Backtick) [Keyboard key name]"); | |
case 38: | |
return "\u2191"; | |
case 40: | |
return "\u2193"; | |
} | |
return String.fromCharCode(key); | |
}; | |
/** | |
* @param {number} val | |
* @return {?} | |
*/ | |
var getCompletions = function(val) { | |
/** @type {Array} */ | |
var _results = []; | |
if (val & indents) { | |
_results.push(err ? callback("Cmd [Mac 'Command' keyboard key name]") : callback("Ctrl [Keyboard key name]")); | |
} | |
if (val & STACK_ATTACHED) { | |
_results.push(callback("Cmd [Mac 'Command' keyboard key name]")); | |
} | |
if (val & timeout) { | |
_results.push(callback("Ctrl [Keyboard key name]")); | |
} | |
if (val & ERROR_HANDLED) { | |
_results.push(err ? callback("Opt [Mac 'Option' keyboard key name]") : callback("Alt [Keyboard key name]")); | |
} | |
if (val & backgroundLayerMask) { | |
_results.push(callback("Shift [Keyboard key name]")); | |
} | |
return _results; | |
}; | |
$("click", "toggle-debug-shortcuts", function() { | |
removeAttr(this.parent(".shortcuts-cheat-sheet"), "show-debug-shortcuts"); | |
return false; | |
}); | |
attempt(function() { | |
getEnumerableProperties(handleEvent(191, indents, function() { | |
Tab(); | |
return true; | |
}), 0, callback("List keyboard shortcuts")); | |
}); | |
/** | |
* @param {string} name | |
* @param {?} opt_attributes | |
* @return {?} | |
*/ | |
var callback = function(name, opt_attributes) { | |
var o = window.gTranslations; | |
if (o && o[name]) { | |
name = o[name]; | |
} else { | |
if ("]" == name[name.length - 1]) { | |
name = name.substr(0, name.lastIndexOf("[") - 1); | |
} | |
} | |
if (opt_attributes) { | |
var letter; | |
for (letter in opt_attributes) { | |
name = name.replace("%(" + letter + ")s", opt_attributes[letter]); | |
} | |
} | |
return name; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var detectDevice = function() { | |
return window.kLocaleCode || window.navigator.language; | |
}; | |
var fabric = {}; | |
var val2; | |
var ATTR_ID; | |
var DOW_MAP = {}; | |
var colors = {}; | |
/** | |
* @return {undefined} | |
*/ | |
var dayFromMonth = function() { | |
var val1 = floor(); | |
if (val1 != val2) { | |
val2 = val1; | |
/** @type {boolean} */ | |
colors["thumbnail-stack"] = false; | |
/** @type {boolean} */ | |
val1 = 18 > jQuery(".folder > .body .thumbnail-stack").length(); | |
if (!(DOW_MAP["thumbnail-stack"] = val1)) { | |
clearSelection(); | |
} | |
makeRequest(5); | |
} | |
}; | |
/** | |
* @param {?} callback | |
* @param {?} data | |
* @param {string} name | |
* @param {?} obj | |
* @param {?} key | |
* @param {?} i | |
* @return {undefined} | |
*/ | |
var del = function(callback, data, name, obj, key, i) { | |
var o = {}; | |
if (callback) { | |
o.folder_id = callback; | |
} | |
if (name) { | |
/** @type {string} */ | |
o.next_id = name; | |
} | |
if (obj) { | |
o.copy_document_id = obj; | |
} | |
if (key) { | |
o.copy_secret_path = key; | |
} | |
if (i) { | |
o.new_title = i; | |
} | |
if (data) { | |
if (processData(data)) { | |
processOne(); | |
upload("upload-new-document", data, function(chat) { | |
jQuery(".thumbnail-stack.importing").remove(); | |
loadNext(); | |
put(chat); | |
}, function(resp) { | |
jQuery(".thumbnail-stack.importing").remove(); | |
loadNext(); | |
resp = resp.getResponseHeader("X-Quip-Import-Error-Message") || callback("Unable to import file"); | |
error(resp); | |
}, o, jQuery(".filedrop.importing .bar")); | |
} else { | |
jQuery(".thumbnail-stack.importing").remove(); | |
} | |
} else { | |
next("/-/new-document", o, function(walkers) { | |
focus(walkers); | |
}); | |
} | |
}; | |
/** | |
* @param {Function} cb | |
* @return {undefined} | |
*/ | |
var doRender = function(cb) { | |
compile("inbox-page", "snippet", 20, jQuery("#inbox > .body"), cb); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var newBindings = function() { | |
if (0.75 < _reorderListItem(jQuery("#inbox > .body"))) { | |
doRender(); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var clearSelection = function() { | |
if (0.75 < _reorderListItem(jQuery(".folder > .body"))) { | |
compile("desktop-page", "thumbnail-stack", 24, jQuery(".folder > .body")); | |
} | |
}; | |
/** | |
* @param {string} attr | |
* @param {string} string | |
* @param {number} opt_attributes | |
* @param {Object} elm | |
* @param {Function} template | |
* @return {undefined} | |
*/ | |
var compile = function(attr, string, opt_attributes, elm, template) { | |
if (!DOW_MAP[string]) { | |
if (!colors[string]) { | |
/** @type {boolean} */ | |
colors[string] = true; | |
next("/-/" + attr, { | |
start : parent(jQuery("." + string + ":not(.bottom)")).data("sort"), | |
count : opt_attributes, | |
folder : floor(), | |
thread : html() | |
}, function(items) { | |
items = items.items; | |
console.time(items.length + " new " + string + "s"); | |
var d = elm.find(".bottom.sticky"); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < items.length;i++) { | |
var data = items[i]; | |
var targets = jQuery("." + string + "[data-id='" + data.id + "']"); | |
data = get(data.html); | |
if (targets.empty()) { | |
if (d.empty()) { | |
elm.append(data); | |
} else { | |
data.insertBefore(d); | |
} | |
} else { | |
replace(targets, data); | |
} | |
} | |
console.timeEnd(items.length + " new " + string + "s"); | |
/** @type {boolean} */ | |
colors[string] = false; | |
if (items.length < 0.75 * opt_attributes) { | |
/** @type {boolean} */ | |
DOW_MAP[string] = true; | |
} | |
if (template) { | |
template(); | |
} | |
}, function() { | |
/** @type {boolean} */ | |
colors[string] = false; | |
return true; | |
}); | |
} | |
} | |
}; | |
/** | |
* @param {Object} deepDataAndEvents | |
* @param {(Error|string)} path | |
* @param {Object} field | |
* @param {boolean} dataAndEvents | |
* @return {undefined} | |
*/ | |
var onChange = function(deepDataAndEvents, path, field, dataAndEvents) { | |
if (!dataAndEvents && isDirectory(path)) { | |
removeClass(callback("%(person)s is not a part of %(workgroup)s. Are you sure you want to share with this person?", { | |
person : data.Ka(path).name, | |
workgroup : operation() | |
}), callback("Share"), callback("Cancel"), function(dataAndEvents) { | |
if (dataAndEvents) { | |
onChange(deepDataAndEvents, path, field, true); | |
} else { | |
field.enable(); | |
} | |
}); | |
} else { | |
next("/-/add-members", { | |
folder : deepDataAndEvents, | |
users : path | |
}, function(val) { | |
onComplete(val); | |
obj.input.search.call(field.enable().clear(), null); | |
}, function() { | |
field.enable(); | |
return true; | |
}); | |
} | |
}; | |
var relPos = { | |
x : 0, | |
y : 0 | |
}; | |
/** | |
* @param {Event} e | |
* @return {undefined} | |
*/ | |
var onMouseOver = function(e) { | |
relPos = { | |
x : e.clientX, | |
y : e.clientY | |
}; | |
}; | |
/** | |
* @param {?} code | |
* @return {?} | |
*/ | |
var getDiv = function(code) { | |
return jQuery(".thumbnail-page[data-id='" + code + "']").parent(".thumbnail-stack"); | |
}; | |
/** | |
* @param {string} a | |
* @return {?} | |
*/ | |
var byId = function(a) { | |
return jQuery(".folder-stack[data-id='" + a + "']"); | |
}; | |
/** | |
* @param {Object} obj | |
* @return {?} | |
*/ | |
var likeArray = function(obj) { | |
return obj.j("folder-stack"); | |
}; | |
/** | |
* @param {?} elements | |
* @return {?} | |
*/ | |
var winnow = function(elements) { | |
return likeArray(elements) && start(elements, ".folder-page.archive"); | |
}; | |
/** | |
* @param {?} node | |
* @param {Element} n | |
* @return {?} | |
*/ | |
var all = function(node, n) { | |
return 1 == node.folder_type && 0 == n.folder_type ? false : n.id == res.Qf() || (n.id == res.Wi() || (0 == node.folder_type || node.move_root_id == n.move_root_id)); | |
}; | |
var special = {}; | |
/** | |
* @param {Array} n | |
* @return {undefined} | |
*/ | |
var map = function(n) { | |
/** | |
* @param {Object} o | |
* @return {undefined} | |
*/ | |
function callback(o) { | |
o.setData("dragenter", "folder-picker").setData("dragleave", "folder-picker").setData("drop", "folder-picker"); | |
} | |
var me = jQuery(".folder-picker"); | |
var val = objectEqual(); | |
var cs; | |
var t = {}; | |
/** @type {number} */ | |
t[floor()] = 1; | |
if (likeArray(n)) { | |
n = n.data("id"); | |
/** @type {number} */ | |
t[n] = 1; | |
cs = res.Ka(n); | |
} | |
special = {}; | |
/** @type {Array} */ | |
n = []; | |
/** @type {number} */ | |
var j = 0; | |
for (;j < val.length;j++) { | |
var c = val[j]; | |
var type = c.id; | |
if (!(c.id in t)) { | |
if (!(cs && !all(cs, c))) { | |
n.push(c); | |
/** @type {number} */ | |
special[type] = 1; | |
} | |
} | |
} | |
me.find(".folder-row:not(.new-folder):not(.search-for-folder)").remove(); | |
j = me.find(".new-folder"); | |
callback(j); | |
val = me.find(".search-for-folder"); | |
callback(val); | |
t = val.find(".search-box"); | |
val = t.find("input"); | |
cs = t.find("button"); | |
val.gb(t.width() - cs.width() - cs.marginLeft()); | |
j = j.ga(); | |
/** @type {number} */ | |
t = me.ga().bottom - j.bottom; | |
/** @type {number} */ | |
cs = 1; | |
c = me.find(".search-results"); | |
c.show(); | |
/** @type {number} */ | |
j = 0; | |
for (;j < n.length && j < cs;j++) { | |
type = res.Jd(n[j]); | |
callback(type); | |
c.append(type); | |
if (0 == j) { | |
/** @type {number} */ | |
cs = Math.floor(t / type.ga().height); | |
val.setData("num-results", cs + 1); | |
} | |
} | |
me.g("visible"); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var updateSlides = function() { | |
jQuery(".thumbnail-stack.dragging.filedrop").remove(); | |
var anchor = jQuery(".thumbnail-stack.dragging").k("dragging").find("a"); | |
anchor.setAttribute("href", anchor.getAttribute("saved-href")).removeAttribute("saved-href"); | |
jQuery(".folder-stack.highlighted").k("highlighted"); | |
jQuery(".drag-object").remove(); | |
jQuery(".folder-picker").k("visible"); | |
if (jQuery("#app").j("desktop-dragging")) { | |
jQuery("#app").k("desktop-dragging"); | |
loadNext(); | |
} | |
if (external) { | |
if (fabric.Zr) { | |
removeListener(fabric.Zr); | |
delete fabric.Zr; | |
} | |
} | |
}; | |
/** | |
* @param {Object} obj | |
* @param {Node} item | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
var redraw = function(obj, item, recurring) { | |
var folder; | |
var target; | |
if (item instanceof klass) { | |
item.k("highlighted"); | |
target = item.data("id"); | |
} else { | |
/** @type {Node} */ | |
target = item; | |
} | |
var ret; | |
if (obj instanceof klass) { | |
obj.remove(); | |
ret = obj.data("id"); | |
} else { | |
/** @type {Object} */ | |
ret = obj; | |
} | |
folder = folder || floor(); | |
next("/-/move-into", { | |
folder : folder, | |
object : ret, | |
target : target | |
}, function(val) { | |
if (recurring) { | |
var restoreScript = res.Wi(); | |
var which = res.Qf(); | |
if (item == which) { | |
parseXML(obj.data("id"), restoreScript); | |
} else { | |
if (item == restoreScript) { | |
parseXML(obj.data("id"), which); | |
} | |
} | |
} | |
onComplete(val); | |
}); | |
}; | |
/** | |
* @param {Object} source | |
* @param {(RegExp|string)} keepData | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
var stack = function(source, keepData, name) { | |
next("/-/add-folder", { | |
object : source, | |
add : keepData | |
}, function(chat) { | |
put(chat); | |
parseXML(source, name); | |
}); | |
}; | |
/** | |
* @param {Object} string | |
* @param {?} callback | |
* @return {undefined} | |
*/ | |
var parseXML = function(string, callback) { | |
next("/-/remove-folder", { | |
object : string, | |
remove : callback | |
}, function(val) { | |
onComplete(val); | |
}); | |
}; | |
/** | |
* @param {Object} obj | |
* @param {(RegExp|string)} key | |
* @return {undefined} | |
*/ | |
var _add = function(obj, key) { | |
var y = res.Wi(); | |
var x = res.Qf(); | |
var camelKey = res.Ka(key); | |
if (likeArray(obj) && (1 == res.Ka(obj.data("id")).folder_type && 0 == camelKey.folder_type)) { | |
y = key == y ? x : y; | |
stack(obj.data("id"), key, y); | |
} else { | |
y = res.Ka(floor()); | |
if (0 != y.folder_type) { | |
next("/-/predelete-info", { | |
object : obj.data("id"), | |
remove : y.id, | |
add : key | |
}, function(isXML) { | |
recurse(obj, key, isXML); | |
}); | |
} else { | |
redraw(obj, key, true); | |
} | |
} | |
}; | |
/** | |
* @param {Object} elements | |
* @param {Node} fn | |
* @param {string} value | |
* @return {undefined} | |
*/ | |
var recurse = function(elements, fn, value) { | |
var err = likeArray(elements); | |
if (0 == value.member_count || err && 0 == value.thread_count) { | |
redraw(elements, fn, true); | |
} else { | |
if (err) { | |
value = callback("This will remove access to this folder and %(num_threads)s documents inside of it for %(num_users)s people. Are you sure you want to move the folder?", { | |
num_threads : value.thread_count, | |
num_users : value.member_count | |
}); | |
} else { | |
value = callback("This will permanently delete this document for %(count)s people.", { | |
count : value.member_count | |
}); | |
value += " " + callback("Are you sure you want to move the document?"); | |
} | |
header(err ? callback("Move Folder") : callback("Move Document"), value, [err ? callback("Move Folder") : callback("Move Document"), callback("Cancel")], ["move", "cancel"], function(x) { | |
if ("move" == x) { | |
redraw(elements, fn, true); | |
} | |
}); | |
} | |
}; | |
/** | |
* @param {MouseEvent} params | |
* @return {?} | |
*/ | |
var repush = function(params) { | |
return isHorizontal ? params.ctrlKey : params.metaKey; | |
}; | |
/** | |
* @param {Object} req | |
* @param {string} classNames | |
* @return {undefined} | |
*/ | |
var user = function(req, classNames) { | |
next("/-/remove-member", { | |
folder : req, | |
remove : classNames | |
}, function(val) { | |
onComplete(val); | |
}); | |
}; | |
/** | |
* @param {Object} optionsString | |
* @param {boolean} dataAndEvents | |
* @return {undefined} | |
*/ | |
var core = function(optionsString, dataAndEvents) { | |
next("/-/delete-folder", { | |
folder : optionsString, | |
auto_archive : dataAndEvents ? "0" : "1" | |
}, function(data) { | |
if (data.id == floor()) { | |
replace(jQuery(".folder"), get(data.page)); | |
} else { | |
localize(data); | |
} | |
}); | |
}; | |
/** | |
* @param {?} obj | |
* @return {undefined} | |
*/ | |
var stringifyObject = function(obj) { | |
obj.g("searching"); | |
item.g("searching-for-folder"); | |
jQuery(".folder-picker .search-for-folder input").focus(); | |
jQuery(".folder-picker .search-results .object-row").setData("click", "search-result"); | |
ATTR_ID = addEvent(window.document.body, "click", onOverOut); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var filterit = function() { | |
item.k("searching-for-folder"); | |
jQuery(".thumbnail-stack.searching").k("searching"); | |
removeListener(ATTR_ID); | |
updateSlides(); | |
}; | |
/** | |
* @param {Event} e | |
* @return {undefined} | |
*/ | |
var onOverOut = function(e) { | |
if (!jQuery(".folder-picker").contains(jQuery(e.target))) { | |
moveHandler(jQuery(".folder-picker .search-box input")); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var nivoRun = function() { | |
jQuery(".folder-picker").k("creating-new-folder"); | |
var self = jQuery(".folder-picker .new-folder"); | |
self.k("highlighted"); | |
var markup = jQuery(".dialog." + self.data("dialog")); | |
push(function() { | |
css(markup.k("bottom"), "bottom"); | |
}, 250); | |
jQuery(".thumbnail-stack.moving-to-new-folder").k("moving-to-new-folder"); | |
}; | |
/** | |
* @param {string} name | |
* @param {number} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
var runNext = function(name, deepDataAndEvents) { | |
next("/-/notification-level", { | |
id : name, | |
level : deepDataAndEvents | |
}, function(elem) { | |
onComplete(elem); | |
elem = jQuery("div.thread"); | |
if (!elem.empty()) { | |
elem.setData("notification-level", deepDataAndEvents); | |
} | |
}); | |
}; | |
/** | |
* @param {Object} options | |
* @return {undefined} | |
*/ | |
var gzip = function(options) { | |
next("/-/predelete-info", { | |
object : options | |
}, function(relativeToItem) { | |
deleteItem(options, relativeToItem); | |
}); | |
}; | |
/** | |
* @param {Object} options | |
* @param {?} item | |
* @return {undefined} | |
*/ | |
var deleteItem = function(options, item) { | |
/** @type {boolean} */ | |
var c = 2 > item.member_count; | |
var value = item.top_level; | |
if (item.thread_count) { | |
/** @type {Array} */ | |
var tooltip = []; | |
/** @type {Array} */ | |
var menu = []; | |
if (c) { | |
tooltip.push(callback("Archive and Hide")); | |
menu.push("archive-and-hide"); | |
tooltip.push(callback("Permanently Delete")); | |
} else { | |
if (value) { | |
tooltip.push(callback("Archive and Hide")); | |
menu.push("archive-and-hide"); | |
if (data.ka) { | |
tooltip.push(callback("Delete for Me")); | |
menu.push("remove-self"); | |
} | |
} else { | |
if (1 != item.notification_level) { | |
tooltip.push(callback("Hide Folder")); | |
menu.push("hide"); | |
} | |
} | |
tooltip.push(callback("Delete for all %(count)s people", { | |
count : item.member_count | |
})); | |
} | |
menu.push("delete"); | |
tooltip.push(callback("Cancel")); | |
menu.push("cancel"); | |
header(callback("Delete Folder"), callback("If you no longer want to see this folder, you can hide it, which will mean you won't see it in your Inbox or on your Desktop, but you will still be able to access it via search. If you delete the folder, you will permanently lose access to all of the documents inside of it."), tooltip, menu, function(method) { | |
if ("hide" == method) { | |
runNext(options, 1); | |
} else { | |
if ("archive-and-hide" == method) { | |
foo(options); | |
} else { | |
if ("remove-self" == method) { | |
cb(); | |
} else { | |
if ("delete" == method) { | |
finish(); | |
} | |
} | |
} | |
} | |
}, "multi-button"); | |
/** | |
* @return {undefined} | |
*/ | |
var cb = function() { | |
header(callback("Remove Access"), callback("You will permanently lose access to %(count)s documents inside of the folder. Are you sure you want to remove yourself from the folder?", { | |
count : item.thread_count | |
}), [callback("Delete Folder"), callback("Cancel")], ["remove", "cancel"], function(dataAndEvents) { | |
if ("remove" == dataAndEvents) { | |
user(options, data.ka.id); | |
close(); | |
} | |
}, "multi-button"); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var finish = function() { | |
var suiteView = { | |
num_users : item.member_count, | |
num_threads : item.thread_count | |
}; | |
suiteView = 1 == item.member_count ? callback("You will permanently lose access to all %(num_threads)s documents in this folder. Are you sure you want to delete the folder?", suiteView) : callback("This will permanently delete this folder for all %(num_users)s people who have access. You will all lose access to %(num_threads)s documents inside of the folder. Are you sure you want to delete the folder?", suiteView); | |
header(callback("Delete Folder"), suiteView, [callback("Delete Folder"), callback("Cancel")], ["delete", "cancel"], function(method) { | |
if ("delete" == method) { | |
if (1 == item.member_count) { | |
core(options, true); | |
close(); | |
} else { | |
confirm(); | |
} | |
} | |
}, "multi-button"); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var confirm = function() { | |
header(callback("Delete Folder"), callback("Would you like to retain a private copy of this folder in your Archive so you can restore the documents later?"), [callback("Retain Archive Copy"), callback("Permanently Delete"), callback("Cancel")], ["archive", "delete", "cancel"], function(method) { | |
if ("delete" == method) { | |
core(options, true); | |
close(); | |
} else { | |
if ("archive" == method) { | |
next("/-/archive", { | |
object : options, | |
remove_all : "1" | |
}, function(val) { | |
onComplete(val); | |
close(); | |
}); | |
} | |
} | |
}); | |
}; | |
} else { | |
close(); | |
core(options); | |
} | |
}; | |
/** | |
* @param {Object} v | |
* @return {undefined} | |
*/ | |
var foo = function(v) { | |
next("/-/archive", { | |
object : v, | |
hide : "1" | |
}, function(val) { | |
onComplete(val); | |
close(); | |
}); | |
}; | |
/** | |
* @param {Object} err | |
* @param {string} classNames | |
* @param {string} e | |
* @param {?} _headers | |
* @return {undefined} | |
*/ | |
var respond = function(err, classNames, e, _headers) { | |
if (_headers) { | |
user(err, classNames); | |
} else { | |
if (data.ka) { | |
next("/-/predelete-info", { | |
object : err, | |
remove : classNames | |
}, function(extra) { | |
callbacks(err, classNames, e, extra); | |
}); | |
} else { | |
onload(callback("Error: Unable to perform the requested action"), "", 15E3); | |
} | |
} | |
}; | |
/** | |
* @param {Object} err | |
* @param {string} i | |
* @param {string} e | |
* @param {?} results | |
* @return {undefined} | |
*/ | |
var callbacks = function(err, i, e, results) { | |
if (results.remove_user && results.thread_count) { | |
if (i != data.ka.id) { | |
header(callback("Remove Access"), callback("%(person)s will lose access to all %(count)s documents inside of the folder. Are you sure you want to continue?", { | |
person : e, | |
count : results.thread_count | |
}), [callback("Continue"), callback("Cancel")], ["remove", "cancel"], function(dataAndEvents) { | |
if ("remove" == dataAndEvents) { | |
user(err, i); | |
} | |
}); | |
} else { | |
header(results.member_count ? callback("Remove Access") : callback("Delete Folder"), results.member_count ? callback("If you no longer want to see this folder, you can hide it, which will mean you won't see it in your Inbox or on your Desktop, but you will still be able to access it via search. If you remove your access to the folder, you will permanently lose access to %(count)s documents inside of it.", { | |
count : results.thread_count | |
}) : callback("If you no longer want to see this folder, you can hide it, which will mean you won't see it in your Inbox or on your Desktop, but you will still be able to access it via search. If you remove your access to the folder, the folder will be deleted and you will permanently lose access to %(count)s documents inside of it.", { | |
count : results.thread_count | |
}), [callback("Archive and Hide"), results.member_count ? callback("Remove Me") : callback("Delete Folder"), callback("Cancel")], ["archive-and-hide", "remove", "cancel"], function(dataAndEvents) { | |
if ("archive-and-hide" == dataAndEvents) { | |
foo(err); | |
} else { | |
if ("remove" == dataAndEvents) { | |
user(err, i); | |
} | |
} | |
}); | |
} | |
} else { | |
user(err, i); | |
} | |
}; | |
/** | |
* @param {Object} data | |
* @return {undefined} | |
*/ | |
var compiler = function(data) { | |
/** | |
* @return {undefined} | |
*/ | |
function initialize() { | |
close(); | |
next("/-/modify-inherit-mode", { | |
folder : data, | |
inherit_mode : 1 | |
}, function(val) { | |
onComplete(val); | |
}); | |
} | |
next("/-/predelete-info", { | |
object : data, | |
lock : true | |
}, function(obj) { | |
if (obj.thread_count && obj.member_count) { | |
header(callback("Lock Folder"), callback("Are you sure you want to lock access to this folder, removing access to %(thread_count)s documents for %(member_count)s people? It will no longer inherit permissions from parent folders, and you will have to list members individually.", obj), [callback("Lock Access"), callback("Cancel")], ["lock", "cancel"], function(update) { | |
if ("lock" == update) { | |
initialize(); | |
} | |
}, "multi-button"); | |
} else { | |
initialize(); | |
} | |
}); | |
}; | |
$("click", "new-document", function() { | |
del(floor()); | |
return false; | |
}); | |
$("dialog-customize", "folder-thumbnail-menu", function() { | |
var node = jQuery(".folder-thumbnail-menu.dialog"); | |
var E; | |
E = this instanceof klass ? this.j("thumbnail-stack") ? this : this.parent(".thumbnail-stack") : byId(node.data("id")); | |
E.g("settings-dialog-active"); | |
var req = res.Ka(E.data("id")); | |
if (!req) { | |
return false; | |
} | |
node.setData("id", req.id); | |
node.find("input").setData("title", req.title).af(req.title); | |
var id = E.find(".folder-page").data("color"); | |
node.find(".color").k("selected"); | |
node.find(".color." + id).g("selected"); | |
addClass(node, "shared", 1 == req.folder_type); | |
addClass(node, "pinned", !!E.data("pinned")); | |
addClass(node, "workgroup", !!req.workgroup_id); | |
addClass(node, "portal", req.workgroup_id && -1 < node.data("portal-workgroup-ids").indexOf(req.workgroup_id)); | |
node.find(".folder-button").setData("id", req.id); | |
node.find("[data-click=unpin]").setData("logical-parent", E.data("logical-parent")); | |
return true; | |
}); | |
$("dialog-customize", "document-menu", function() { | |
var me = jQuery(".document-menu.dialog"); | |
var E; | |
E = this instanceof klass ? this.j("thumbnail-stack") ? this : this.parent(".thumbnail-stack") : getDiv(me.data("document-id")); | |
E.g("settings-dialog-active"); | |
var e = E.find(".thumbnail-page").data("id"); | |
var id = E.data("id"); | |
me.setData("id", id); | |
me.setData("document-id", e); | |
addClass(me, "pinned", !!E.data("pinned")); | |
me.find(".toolbar-buttons span").setData("id", id); | |
var pos = E.find(".thumbnail-page").data("title"); | |
me.find("[data-click=unpin]").setData("logical-parent", E.data("logical-parent")); | |
me.find("[data-click=copy-document]").setData("id", e).setData("title", pos ? pos : ""); | |
me = me.find("[data-click=delete-document]"); | |
me.setData("id", e); | |
me.setData("thread-id", id); | |
return true; | |
}); | |
$("dialog-cleanup", "settings-dialog", function() { | |
jQuery(".thumbnail-stack[data-id='" + this.data("id") + "']").k("settings-dialog-active"); | |
return true; | |
}); | |
$("dialog-cleanup", "notification-settings", function() { | |
jQuery(".thumbnail-stack[data-id='" + this.data("id") + "']").k("settings-dialog-active"); | |
jQuery("#app").append(this); | |
return true; | |
}); | |
$("click", "support", function() { | |
close(); | |
window.open("http://support.quip.com/", "_blank"); | |
return false; | |
}); | |
$("click", "logout", function() { | |
removeClass(callback("Are you sure you want to sign out of Quip?"), callback("Sign Out"), callback("Cancel"), function(l) { | |
if (l) { | |
l = get('<form action="/-/logout" method="post"/>'); | |
var body = createElement("input"); | |
body.setAttribute("name", "_csrf").af(_next("id")); | |
l.append(body); | |
item.append(l); | |
l.get().submit(); | |
} | |
}); | |
return false; | |
}); | |
$("scroll", "inbox", function() { | |
newBindings(); | |
return false; | |
}); | |
$("scroll", "desktop", function() { | |
clearSelection(); | |
return false; | |
}); | |
attempt(function() { | |
if ("thread-mode" == execCommand()) { | |
/** | |
* @return {undefined} | |
*/ | |
var render = function() { | |
var j = jQuery("#inbox .selected"); | |
if (j.empty()) { | |
doRender(render); | |
} else { | |
j.scrollIntoView(); | |
} | |
}; | |
render(); | |
} | |
if (isTouch || isWebkit) { | |
if (isTouch && exec(Notification.permission) ? "default" == Notification.permission : isWebkit && 1 == window.webkitNotifications.checkPermission()) { | |
createElement("button").setData("click", "enable-notifications").ca(callback("Enable Web Notifications")).insertBefore(jQuery(".button-list button[data-click='support']")); | |
} | |
} | |
}); | |
$("click", "enable-notifications", function() { | |
requestPermission(bind(this.remove, this)); | |
close(); | |
return false; | |
}); | |
$("click", "set-notification-level", function() { | |
var self = jQuery(".notification-settings.dialog.active"); | |
self.find(".notification-level").k("selected"); | |
this.g("selected"); | |
runNext(self.data("id"), assertEquals(this, "level")); | |
return false; | |
}); | |
$("click", "edit-notifications", function(self) { | |
var api = jQuery(self.target).parent(".dialog"); | |
self = jQuery(".notification-settings.dialog"); | |
if (self.j("active")) { | |
if (self.data("previous")) { | |
self = jQuery(self.data("previous")); | |
if (!self.empty()) { | |
if (self.j("dialog")) { | |
reset(self); | |
} else { | |
obj.click.dialog.call(jQuery("span.folder-settings"), null); | |
} | |
} | |
} else { | |
close(); | |
} | |
} else { | |
if (!self.empty()) { | |
self.setData("id", api.data("id")); | |
if (attr(api, "document-id")) { | |
self.setData("document-id", api.data("document-id")); | |
} else { | |
eventType(self, "document-id"); | |
} | |
if (attr(api, "notification-level")) { | |
self.setData("notification-level", api.data("notification-level")); | |
} | |
api = api.get().className.split(" ").filter(function(ndx) { | |
return "active" != ndx && "visible" != ndx; | |
}); | |
self.setData("previous", "." + api.join(".")); | |
reset(self); | |
} | |
} | |
return false; | |
}); | |
$("dialog-customize", "notification-settings", function() { | |
var table = jQuery(".notification-settings.dialog"); | |
var node = getDiv(table.data("document-id")); | |
if (node.empty()) { | |
node = byId(table.data("id")); | |
} | |
if (jQuery("div.thread").empty()) { | |
if (node.empty()) { | |
$target = table.data("notification-level"); | |
} else { | |
$target = node.data("notification-level"); | |
jQuery("div.folder > .body").append(table); | |
} | |
} else { | |
$target = jQuery("div.thread"); | |
table.setData("id", $target.data("id")); | |
var $target = $target.data("notification-level"); | |
} | |
table.find(".notification-level").k("selected"); | |
table.find(".notification-level[data-level='" + $target + "']").g("selected"); | |
if (!node.empty()) { | |
node.g("settings-dialog-active"); | |
} | |
return true; | |
}); | |
$("click", "pin", function() { | |
var output = this; | |
next("/-/pin", { | |
object : this.data("id"), | |
secret_path : setAttribute() || "" | |
}, function(val) { | |
onComplete(val); | |
output.parent(".document-menu").g("pinned"); | |
output.parent(".folder-settings").g("pinned"); | |
if (val.new_listen_cursor) { | |
var rvar = isNaN(val.thread_metadata, GameObject); | |
changeState(rvar); | |
teardown(val.new_listen_cursor, val.new_listen_hostname, val.new_listen_port, true); | |
} | |
}); | |
return false; | |
}); | |
$("click", "unpin", function() { | |
var target = this.data("id"); | |
var output = this; | |
if (this.j("archive")) { | |
return close(), next("/-/unpin", { | |
object : target, | |
secret_path : setAttribute() || "" | |
}, function(val) { | |
onComplete(val); | |
output.parent(".document-menu").k("pinned"); | |
output.parent(".folder-settings").k("pinned"); | |
}), false; | |
} | |
var err = this.data("logical-parent"); | |
err = 14 == validTest(target) ? err ? callback("This folder is pinned to your Desktop. If you unpin it, you will still be able to find it in the %(folder_name)s folder and via search, but it will no longer be visible on your Desktop.", { | |
folder_name : err | |
}) : callback("This folder is pinned to your Desktop. If you unpin it, you will still be able to find it via search and in your Archive folder, but it will no longer be visible on your Desktop.") : err ? callback("This document is pinned to your Desktop. If you unpin it, you will still be able to find it in the %(folder_name)s folder and via search, but it will no longer be visible on your Desktop.", { | |
folder_name : err | |
}) : callback("This document is pinned to your Desktop. If you unpin it, you will still be able to find it via search and in your Archive folder, but it will no longer be visible on your Desktop."); | |
removeClass(err, callback("Unpin [un-'pin' a document or folder from the desktop]"), callback("Cancel"), function(dataAndEvents) { | |
if (dataAndEvents) { | |
next("/-/unpin", { | |
object : target | |
}, function(val) { | |
onComplete(val); | |
output.parent(".document-menu").k("pinned"); | |
output.parent(".folder-settings").k("pinned"); | |
}); | |
} | |
}); | |
return false; | |
}); | |
$("click", "delete-folder", function() { | |
var model = this.parent(".folder-settings").data("id"); | |
close(); | |
gzip(model); | |
return false; | |
}); | |
$("click", "make-restricted", function() { | |
var pdataCur = this.parent(".folder-sharing").data("id"); | |
compiler(pdataCur); | |
return false; | |
}); | |
$("click", "remove-restriction", function() { | |
next("/-/modify-inherit-mode", { | |
folder : this.parent(".folder-sharing").data("id"), | |
inherit_mode : 0 | |
}, function(val) { | |
onComplete(val); | |
}); | |
close(); | |
return false; | |
}); | |
$("dialog-customize", "folder-sharing", function() { | |
doc.load(); | |
return true; | |
}); | |
$("search-handler", "folder-sharing", function() { | |
var result = this.parent(".folder-sharing"); | |
var field = result.find("input").disable(); | |
var message = this.data("address"); | |
if (null != message) { | |
return confirm(message, this.data("name") || "", this.parent().parent().find(".sharing-invite").data("id"), function() { | |
standard(); | |
obj.input.search.call(field.enable().clear(), null); | |
}, function() { | |
field.enable(); | |
}), true; | |
} | |
onChange(result.data("id"), this.data("id"), field); | |
return true; | |
}); | |
$("keydown", "folder-sharing", function(event) { | |
if (13 == event.keyCode && (this.value() && changeDelimiters(this.value()))) { | |
return event = this.parent().parent().find(".sharing-invite"), confirm(this.value(), void 0, event.data("id"), function() { | |
standard(); | |
}), moveHandler(this), false; | |
} | |
if (event.keyCode == touchend) { | |
if (0 == this.value().length) { | |
standard(); | |
} | |
} | |
return obj.keydown.search.call(this, event); | |
}); | |
$("click", "remove-folder-member", function(count) { | |
var e = jQuery(".folder-members").data("id"); | |
var orig = this.parent(".object-row").data("id"); | |
var result = this.parent(".object-row").find(".title").get().innerText; | |
respond(e, orig, result, repush(count)); | |
return false; | |
}); | |
$("keydown", "folder-rename", function(event) { | |
return 13 == event.keyCode ? (this.blur(), false) : true; | |
}); | |
$("input", "folder-rename", function() { | |
var doc = this.parent(".folder-settings").data("id"); | |
byId(doc).find(".folder-thumbnail-title").ca(this.value()); | |
return true; | |
}); | |
$("blur", "folder-rename", function() { | |
var value = this.value(); | |
if (value != this.data("title")) { | |
this.setData("title", value); | |
next("/-/rename-folder", { | |
folder : this.parent(".folder-settings").data("id"), | |
title : value | |
}, function(val) { | |
onComplete(val); | |
}); | |
} | |
return true; | |
}); | |
$("click", "folder-color", function() { | |
var t = this.parent(".folder-create"); | |
/** @type {boolean} */ | |
var b = !t.empty(); | |
if (!b) { | |
t = this.parent(".folder-settings"); | |
} | |
var doc = t.data("id"); | |
t = t.find(".color"); | |
t.k("selected"); | |
this.g("selected"); | |
if (b) { | |
return false; | |
} | |
var data = byId(doc).find(".folder-page"); | |
if (!data.empty()) { | |
expect(t, function() { | |
data.k(jQuery(this).data("color")); | |
}); | |
data.g(this.data("color")); | |
} | |
next("/-/folder-color", { | |
folder : doc, | |
color : this.data("color") | |
}, function(val) { | |
onComplete(val); | |
}); | |
return false; | |
}); | |
$("contextmenu", "thumbnail", function(event) { | |
if (winnow(this)) { | |
return false; | |
} | |
var $ul = likeArray(this) ? jQuery(".folder-thumbnail-menu.dialog") : jQuery(".document-menu.dialog"); | |
close(); | |
createOption($ul, this, { | |
left : event.clientX, | |
top : event.clientY | |
}); | |
return false; | |
}); | |
$("drop", "folder", function(e) { | |
var self = jQuery(".thumbnail-stack.dragging"); | |
var parent = jQuery(".folder-stack.highlighted"); | |
if (e.dataTransfer && (e.dataTransfer.files && 0 < e.dataTransfer.files.length)) { | |
var restoreScript = floor(); | |
if (!parent.empty()) { | |
restoreScript = parent.data("id"); | |
} | |
parent = self.next(); | |
if (!parent.j("thumbnail-stack")) { | |
/** @type {null} */ | |
parent = null; | |
} | |
self.k("dragging").g("importing"); | |
var a = callback("Importing..."); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < e.dataTransfer.files.length;i++) { | |
var t = e.dataTransfer.files[i].name; | |
if (t) { | |
a = t; | |
break; | |
} | |
} | |
gg(self, a); | |
del(restoreScript, e.dataTransfer.files, parent ? parent.data("id") : ""); | |
updateSlides(); | |
return false; | |
} | |
updateSlides(); | |
if (self.empty()) { | |
return false; | |
} | |
if (parent.empty()) { | |
self.k("dragging"); | |
parent = self.next(); | |
if (!parent.j("thumbnail-stack")) { | |
/** @type {null} */ | |
parent = null; | |
} | |
next("/-/move-before", { | |
folder : floor(), | |
object : self.data("id"), | |
next : parent ? parent.data("id") : "" | |
}, function(val) { | |
onComplete(val); | |
}); | |
} else { | |
_add(self, parent.data("id")); | |
} | |
return false; | |
}); | |
$("dragleave", "folder", function(event) { | |
var b = event.clientY || relPos.y; | |
return 0 == (event.clientX || relPos.x) && 0 == b ? (jQuery(".thumbnail-stack.dragging.filedrop").remove(), true) : false; | |
}); | |
$("dragstart", "thumbnail", function(e) { | |
processOne(); | |
this.g("dragging"); | |
var s = this.find("a"); | |
s.setAttribute("saved-href", s.getAttribute("href")).removeAttribute("href"); | |
this.find("a").removeAttribute("href"); | |
s = this.find(".thumbnail"); | |
var result = _qwery(s); | |
s = val(setSize(createElement("div", "drag-object").append(s.ya()), result.left), result.top).setData("offset-left", result.left - e.clientX).setData("offset-top", result.top - e.clientY); | |
/** @type {RegExp} */ | |
var n = /theme-/; | |
/** @type {Array} */ | |
result = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.q.length;i++) { | |
if (this.q[i].className) { | |
var lines = this.q[i].className.split(" "); | |
/** @type {number} */ | |
var j = 0; | |
for (;j < lines.length;j++) { | |
if (n.test(lines[j])) { | |
result.push(lines[j]); | |
} | |
} | |
} | |
} | |
/** @type {number} */ | |
n = 0; | |
for (;n < result.length;n++) { | |
s.g(result[n]); | |
} | |
jQuery("#app").append(s).g("desktop-dragging"); | |
if (e.dataTransfer) { | |
if (e.dataTransfer.setDragImage) { | |
e.dataTransfer.setDragImage(jQuery("#empty-image").get(), 0, 0); | |
} | |
} | |
if (!winnow(this)) { | |
nextTick(res, bind(map, null, this)); | |
} | |
if (external) { | |
fabric.Zr = addEvent(document.body, "dragover", onMouseOver); | |
} | |
return true; | |
}); | |
$("drag", "thumbnail", function(e) { | |
var obj = jQuery(".drag-object"); | |
var memo = e.clientX || relPos.x; | |
e = e.clientY || relPos.y; | |
if (0 == memo && 0 == e) { | |
return obj.ua(), true; | |
} | |
var str = assertEquals(obj, "offset-left"); | |
var type = assertEquals(obj, "offset-top"); | |
val(setSize(obj, memo + str), e + type); | |
obj.show(); | |
return true; | |
}); | |
$("dragend", "thumbnail", function() { | |
updateSlides(); | |
return false; | |
}); | |
$("dragenter", "thumbnail", function(e) { | |
var body = jQuery(".thumbnail-stack.dragging"); | |
e = isValidFileDrag(e); | |
if (body.empty()) { | |
if (e) { | |
body = Meow("filedrop"); | |
} | |
} | |
if (body.empty() || (body.wa(this) || (start(this, ".degraded") || winnow(body) && likeArray(this)))) { | |
return false; | |
} | |
if (likeArray(this) && !e) { | |
if (likeArray(body) && !all(res.Ka(body.data("id")), res.Ka(this.data("id")))) { | |
return false; | |
} | |
this.g("highlighted"); | |
} else { | |
if (body.Pg(this)) { | |
parseInt(body, this); | |
} else { | |
body.insertBefore(this); | |
} | |
} | |
return false; | |
}); | |
$("dragleave", "thumbnail", function() { | |
if (likeArray(this)) { | |
this.k("highlighted"); | |
} | |
return false; | |
}); | |
$("dragenter", "folder-picker", function() { | |
this.g("highlighted"); | |
return false; | |
}); | |
$("dragleave", "folder-picker", function() { | |
this.k("highlighted"); | |
return false; | |
}); | |
$("drop", "folder-picker", function() { | |
var $this = jQuery(".thumbnail-stack.dragging"); | |
updateSlides(); | |
if ($this.empty()) { | |
return false; | |
} | |
if (this.j("new-folder")) { | |
$this.g("moving-to-new-folder"); | |
jQuery(".folder-picker").g("creating-new-folder"); | |
$this = jQuery(".dialog." + this.data("dialog")); | |
obj.click.dialog.call(this, null); | |
var rect = this.ga(); | |
if ($this.j("bottom")) { | |
runCallbacks($this, $this.parent().ga().bottom - rect.top); | |
} else { | |
val($this, rect.bottom); | |
} | |
} else { | |
if (this.j("search-for-folder")) { | |
this.k("highlighted"); | |
stringifyObject($this); | |
} else { | |
_add($this, this.data("id")); | |
} | |
} | |
return false; | |
}); | |
$("click", "folder-picker-search-cancel", function() { | |
moveHandler(jQuery(".folder-picker .search-box input")); | |
return false; | |
}); | |
$("search-clear-handler", "folder-picker-search-box", function() { | |
filterit(); | |
return true; | |
}); | |
$("search-handler", "folder-picker-search-box", function() { | |
var suiteView = jQuery(".thumbnail-stack.searching"); | |
_add(suiteView, this.data("id")); | |
filterit(); | |
return true; | |
}); | |
$("search-filter", "folder-picker-search-box", function() { | |
return this.id in special; | |
}); | |
$("search-filter", "email-only-search", function() { | |
return-1 != this.address.search("@"); | |
}); | |
$("click", "folder-create-create", function() { | |
var targets = jQuery(".thumbnail-stack.moving-to-new-folder"); | |
var parent = this.parent(".folder-create"); | |
var inp = parent.find("input"); | |
var data = inp.value().trim(); | |
var item = parent.find(".color.selected"); | |
if (!data) { | |
return false; | |
} | |
close(); | |
data = { | |
parent_folder_id : floor(), | |
title : data, | |
color : item.data("color") | |
}; | |
next("/-/new-folder", data, function(scope) { | |
if (1 == scope.max_depth) { | |
removeClass(callback("Cannot create a folder here, the maximum depth is 5."), extend(detectDevice(), "en") ? "Bummer" : callback("OK"), null, function() { | |
}); | |
} else { | |
inp.af(""); | |
item.k("selected"); | |
parent.find(".color.manila").g("selected"); | |
onComplete(scope.update); | |
if (!targets.empty()) { | |
redraw(targets, scope.folder_id, false); | |
} | |
} | |
}); | |
return false; | |
}); | |
$("keydown", "folder-create-name", function(e) { | |
return 13 == e.keyCode ? (obj.click["folder-create-create"].call(this, e), false) : true; | |
}); | |
$("click", "folder-create-cancel", function() { | |
close(); | |
return false; | |
}); | |
$("dialog-cleanup", "folder-create", function() { | |
if (jQuery(".folder-picker").j("creating-new-folder")) { | |
nivoRun(); | |
} | |
return true; | |
}); | |
$("click", "move-folder-object", function() { | |
var obj = jQuery(".thumbnail-stack[data-id='" + this.data("id") + "']"); | |
if (!obj.empty()) { | |
map(obj); | |
stringifyObject(obj); | |
close(); | |
} | |
return false; | |
}); | |
$("click", "show-thread-sharing", function() { | |
if ("desktop-mode" != execCommand()) { | |
return obj.click.dialog.call(this, null); | |
} | |
next("/-/thread-sharing-dialog", { | |
id : this.data("id") | |
}, function(some) { | |
is(get(some.html)); | |
}); | |
return false; | |
}); | |
$("click", "show-link-sharing", function() { | |
if ("desktop-mode" != execCommand()) { | |
return obj.click.dialog.call(this, null); | |
} | |
next("/-/link-sharing-dialog", { | |
id : this.data("id") | |
}, function(some) { | |
is(get(some.html)); | |
}); | |
return false; | |
}); | |
$("click", "show-link-permissions", function() { | |
if ("desktop-mode" != execCommand()) { | |
return obj.click.dialog.call(this, null); | |
} | |
next("/-/link-permissions-dialog", { | |
id : this.data("id") | |
}, function(some) { | |
is(get(some.html)); | |
}); | |
return false; | |
}); | |
$("click", "show-folder-sharing", function() { | |
next("/-/folder-sharing-dialog", { | |
id : this.data("id") | |
}, function(some) { | |
is(get(some.html)); | |
}); | |
return false; | |
}); | |
$("click", "create-team-dialog", function() { | |
next("/-/create-team-dialog", {}, function(some) { | |
close(); | |
jQuery("#app").append(get(some.html).show()); | |
finish(function() { | |
jQuery(".nux-dialog").k("inactive"); | |
checkComplete(); | |
}); | |
}); | |
return false; | |
}); | |
$("submit", "create-team", function() { | |
var input = this.find("input[name=name]"); | |
var item = this.find("textarea[name=emails]"); | |
var selected = this.find("input[name=domain]"); | |
if (!input.value()) { | |
return input.focus(), false; | |
} | |
if (!item.value()) { | |
return item.focus(), false; | |
} | |
selected = selected.get() && selected.get().checked ? selected.value() : ""; | |
this.find("input,button").disable(); | |
next("/-/create-team", { | |
name : input.value(), | |
emails : item.value(), | |
domain : selected | |
}, function(chat) { | |
close(); | |
put(chat); | |
}); | |
return false; | |
}); | |
handleEvent(!isCORS || isHorizontal ? 78 : 192, indents | ERROR_HANDLED, function() { | |
del(floor()); | |
return true; | |
}); | |
getEnumerableProperties(new configure(78, indents | ERROR_HANDLED), 0, callback("Create a new document")); | |
getEnumerableProperties(handleEvent(keys.M, indents | ERROR_HANDLED, function() { | |
if ("desktop-mode" != execCommand()) { | |
j(); | |
} | |
if (data.Ed.Xg) { | |
obj.click["show-chat-list"].call(jQuery(".chat.button"), null); | |
} else { | |
obj.click.dialog.call(jQuery(".compose.button"), null); | |
} | |
return true; | |
}), 0, callback("Create a new message")); | |
getEnumerableProperties(handleEvent(keys.D, indents | backgroundLayerMask, function() { | |
before(res.Qf()); | |
return true; | |
}), 0, callback("Go to the desktop")); | |
attempt(function() { | |
if ("desktop-mode" == execCommand()) { | |
dayFromMonth(); | |
setData(floor()); | |
} | |
}); | |
/** | |
* @return {?} | |
*/ | |
var now = function() { | |
return Date.now ? Date.now() : (new Date).getTime(); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var resetQueues = function() { | |
return now(); | |
}; | |
if (window.performance) { | |
/** @type {Performance} */ | |
var perf = window.performance; | |
/** @type {function (this:Performance): number} */ | |
var ename = perf.now || (perf.mozNow || (perf.webkitNow || (perf.msNow || perf.oNow))); | |
if (ename) { | |
resetQueues = bind(ename, perf); | |
} | |
} | |
/** | |
* @param {(boolean|number|string)} a | |
* @param {(boolean|number|string)} b | |
* @return {?} | |
*/ | |
var mk_block = function(a, b) { | |
return a < b ? -1 : a > b ? 1 : 0; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var S4 = function() { | |
return(65536 * (1 + Math.random()) | 0).toString(16).substring(1); | |
}; | |
/** | |
* @param {string} url | |
* @return {?} | |
*/ | |
var getLocation = function(url) { | |
/** @type {Element} */ | |
var anchor = document.createElement("a"); | |
/** @type {string} */ | |
anchor.href = url; | |
return anchor.href; | |
}; | |
/** | |
* @param {Object} node | |
* @param {number} start | |
* @param {number} deepDataAndEvents | |
* @return {?} | |
*/ | |
var toString = function(node, start, deepDataAndEvents) { | |
start = start || 0; | |
var file = template(" ", start); | |
switch(node.nodeType) { | |
case ELEMENT_NODE: | |
var line = node.nodeName.toLowerCase(); | |
/** @type {string} */ | |
var str = file + "<" + line; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < node.attributes.length;i++) { | |
var seg = node.attributes[i]; | |
/** @type {string} */ | |
str = str + (" " + seg.name + "='" + seg.value + "'"); | |
} | |
if (node.firstChild) { | |
str += ">\n"; | |
if (exec(deepDataAndEvents) && start + 1 == deepDataAndEvents) { | |
str += file + " [" + node.children.length + " children]\n"; | |
} else { | |
node = node.firstChild; | |
for (;node;node = node.nextSibling) { | |
str += toString(node, start + 1, deepDataAndEvents); | |
} | |
} | |
str += file + "</" + line + ">\n"; | |
} else { | |
str += "/>\n"; | |
} | |
return str; | |
case SELECT: | |
/** @type {string} */ | |
str = file + "'"; | |
/** @type {number} */ | |
i = 0; | |
for (;i < node.data.length;i++) { | |
start = node.data.charCodeAt(i); | |
str = 32 <= start && 127 >= start ? str + node.data[i] : str + ("&#" + start + ";"); | |
} | |
return str + "'\n"; | |
case 9: | |
return file + "#document"; | |
default: | |
return "Unexpected node type: " + node.nodeType; | |
} | |
}; | |
/** | |
* @param {Array} code | |
* @return {?} | |
*/ | |
var response = function(code) { | |
/** @type {string} */ | |
var d = ""; | |
expect(createAndInsertIframeForContent(code), function() { | |
d += toString(this); | |
}); | |
return d; | |
}; | |
/** @type {RegExp} */ | |
var rtagName = /^data:([\w/]+)?(;charset=w+)?(;base64)?,(.+)$/; | |
/** | |
* @param {string} value | |
* @return {?} | |
*/ | |
var dataURLToBlob = function(value) { | |
/** @type {(Array.<string>|null)} */ | |
var a = rtagName.exec(value); | |
if (!a) { | |
return console.error("Invalid data URL", value), null; | |
} | |
/** @type {string} */ | |
value = a[1]; | |
/** @type {string} */ | |
var data = a[4]; | |
a = a[3] ? window.atob(data) : decodeURIComponent(data); | |
/** @type {ArrayBuffer} */ | |
data = new ArrayBuffer(a.length); | |
/** @type {Uint8Array} */ | |
data = new Uint8Array(data); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < a.length;i++) { | |
data[i] = a.charCodeAt(i); | |
} | |
a = {}; | |
if (value) { | |
/** @type {string} */ | |
a.type = value; | |
} | |
return new Blob([data.buffer], a); | |
}; | |
/** @type {null} */ | |
var newValue = null; | |
append("util.setAwsS3CdnUrl", function(elValue) { | |
/** @type {(Date|string)} */ | |
newValue = elValue; | |
}); | |
/** | |
* @param {string} value | |
* @return {?} | |
*/ | |
var hash = function(value) { | |
if (!newValue) { | |
throw Error("AWS S3 CDN base URL was not set."); | |
} | |
return newValue + value; | |
}; | |
/** @type {null} */ | |
var tp = null; | |
append("util.setGlobalRandomSeed", function(tpr) { | |
tp = tpr; | |
}); | |
/** | |
* @param {number} storage | |
* @param {?} v | |
* @param {Function} a | |
* @param {Function} trim | |
* @return {?} | |
*/ | |
var restoreMarkdownConf = function(storage, v, a, trim) { | |
/** @type {number} */ | |
var removeFrom = 0; | |
/** @type {number} */ | |
storage = storage.length - 1; | |
for (;removeFrom <= storage;) { | |
/** @type {number} */ | |
var source = Math.floor((removeFrom + storage) / 2); | |
var m = trim(source); | |
m = a(m, v); | |
if (0 > m) { | |
/** @type {number} */ | |
removeFrom = source + 1; | |
} else { | |
if (0 < m) { | |
/** @type {number} */ | |
storage = source - 1; | |
} else { | |
return source; | |
} | |
} | |
} | |
return removeFrom; | |
}; | |
/** | |
* @param {?} var_args | |
* @param {?} listener | |
* @param {?} widget | |
* @return {undefined} | |
*/ | |
var instance = function(var_args, listener, widget) { | |
this.Zs = var_args; | |
this.Sy = listener; | |
/** @type {Array} */ | |
this.Wf = []; | |
this.rj = {}; | |
if (widget) { | |
/** @type {boolean} */ | |
this.bi = true; | |
/** @type {Array} */ | |
this.sf = []; | |
/** @type {Array} */ | |
this.fi = []; | |
} | |
}; | |
/** | |
* @param {?} type | |
* @return {?} | |
*/ | |
instance.prototype.add = function(type) { | |
if (removeAttribute(this, type)) { | |
return false; | |
} | |
if (this.bi) { | |
return this.sf.push(type), true; | |
} | |
var n = validator(this.Wf, type, this.Zs); | |
var rvar = this.Wf[n - 1]; | |
var name = this.Wf[n]; | |
this.Wf.splice(n, 0, type); | |
this.rj[this.ha(type)] = { | |
item : type, | |
Ji : rvar, | |
Hi : name | |
}; | |
if (rvar) { | |
removeAttribute(this, rvar).Hi = type; | |
} | |
if (name) { | |
removeAttribute(this, name).Ji = type; | |
} | |
return true; | |
}; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
instance.prototype.remove = function(name) { | |
if (this.bi) { | |
if (this.fi.length || this.sf.length) { | |
updateTree(this); | |
} | |
} | |
return convert(this, name, validator(this.Wf, name, this.Zs)); | |
}; | |
/** | |
* @param {Object} node | |
* @param {?} name | |
* @param {?} pos | |
* @return {?} | |
*/ | |
var convert = function(node, name, pos) { | |
var descriptor = removeAttribute(node, name); | |
if (!descriptor) { | |
return false; | |
} | |
node.Wf.splice(pos, 1); | |
delete node.rj[node.ha(name)]; | |
if (descriptor.Ji) { | |
removeAttribute(node, descriptor.Ji).Hi = descriptor.Hi; | |
} | |
if (descriptor.Hi) { | |
removeAttribute(node, descriptor.Hi).Ji = descriptor.Ji; | |
} | |
return true; | |
}; | |
/** | |
* @param {?} options | |
* @param {?} type | |
* @param {?} value | |
* @return {undefined} | |
*/ | |
var onUpdate = function(options, type, value) { | |
var node = options.rj[value]; | |
if (node) { | |
if (node.item == type) { | |
delete options.rj[value]; | |
options.rj[options.ha(type)] = node; | |
} | |
} | |
}; | |
/** | |
* @param {Object} args | |
* @param {string} complete | |
* @return {undefined} | |
*/ | |
var generate = function(args, complete) { | |
if (args.bi) { | |
args.fi.push(complete); | |
} else { | |
convert(args, complete, index(args.Wf, complete)); | |
args.add(complete); | |
} | |
}; | |
/** | |
* @param {?} elem | |
* @param {Object} name | |
* @return {?} | |
*/ | |
var getProp = function(elem, name) { | |
if (elem.bi) { | |
if (elem.fi.length || elem.sf.length) { | |
updateTree(elem); | |
} | |
} | |
var queue = removeAttribute(elem, name); | |
return[queue.Ji, queue.Hi]; | |
}; | |
/** | |
* @return {?} | |
*/ | |
instance.prototype.items = function() { | |
if (this.bi) { | |
if (this.fi.length || this.sf.length) { | |
updateTree(this); | |
} | |
} | |
return this.Wf; | |
}; | |
/** | |
* @param {Object} c | |
* @return {undefined} | |
*/ | |
var updateTree = function(c) { | |
var arr2 = {}; | |
/** @type {number} */ | |
var j = 0; | |
for (;j < c.sf.length;j++) { | |
/** @type {number} */ | |
arr2[c.ha(c.sf[j])] = 1; | |
} | |
/** @type {number} */ | |
j = 0; | |
for (;j < c.fi.length;j++) { | |
var name = c.fi[j]; | |
var i = c.ha(name); | |
if (!(i in arr2)) { | |
/** @type {number} */ | |
arr2[i] = 1; | |
convert(c, name, index(c.Wf, name)); | |
c.sf.push(name); | |
} | |
} | |
/** @type {Array} */ | |
c.fi = []; | |
/** @type {boolean} */ | |
c.bi = false; | |
/** @type {number} */ | |
j = 0; | |
for (;j < c.sf.length;j++) { | |
c.add(c.sf[j]); | |
} | |
/** @type {Array} */ | |
c.sf = []; | |
/** @type {boolean} */ | |
c.bi = true; | |
}; | |
/** | |
* @param {?} elem | |
* @param {?} name | |
* @return {?} | |
*/ | |
var removeAttribute = function(elem, name) { | |
return elem.rj[elem.ha(name)]; | |
}; | |
/** | |
* @param {?} keepData | |
* @return {?} | |
*/ | |
instance.prototype.ha = function(keepData) { | |
return this.Sy(keepData); | |
}; | |
/** | |
* @param {?} obj | |
* @param {(number|string)} val | |
* @return {?} | |
*/ | |
var forIn = function(obj, val) { | |
/** @type {null} */ | |
var result = null; | |
var key; | |
for (key in obj) { | |
if (obj[key] == val) { | |
/** @type {string} */ | |
result = key; | |
} | |
} | |
if (!result) { | |
result = val.toString(); | |
} | |
return result; | |
}; | |
/** | |
* @param {Function} size | |
* @return {undefined} | |
*/ | |
var reduce = function(size) { | |
if (isFn()) { | |
var firstDay = resetQueues(); | |
/** | |
* @param {number} i | |
* @return {undefined} | |
*/ | |
var run = function(i) { | |
if (i >= firstDay + 500) { | |
size(1); | |
} else { | |
/** @type {number} */ | |
i = (i - firstDay) / 500; | |
size(0 > i ? 0 : 3 * i * i - 2 * i * i * i); | |
synchronize(run); | |
} | |
}; | |
synchronize(run); | |
} else { | |
size(1); | |
} | |
}; | |
/** | |
* @param {Object} str | |
* @return {undefined} | |
*/ | |
var entity = function(str) { | |
/** @type {Object} */ | |
this.hn = str; | |
}; | |
/** | |
* @param {(number|string)} key | |
* @param {?} value | |
* @return {?} | |
*/ | |
entity.prototype.get = function(key, value) { | |
/** @type {string} */ | |
key = this.hn + "-" + key; | |
return key in this.Vn ? JSON.parse(this.Vn[key]) : value; | |
}; | |
/** | |
* @param {string} type | |
* @param {(boolean|number|string)} opt_isDefault | |
* @return {undefined} | |
*/ | |
entity.prototype.set = function(type, opt_isDefault) { | |
/** @type {string} */ | |
this.Vn[this.hn + "-" + type] = JSON.stringify(opt_isDefault); | |
}; | |
/** | |
* @param {Object} req | |
* @return {undefined} | |
*/ | |
var Cookie = function(req) { | |
/** @type {Object} */ | |
this.hn = req; | |
/** @type {(Storage|null)} */ | |
this.Vn = window.sessionStorage; | |
}; | |
inherits(Cookie, entity); | |
/** | |
* @param {Object} dataAndEvents | |
* @return {undefined} | |
*/ | |
var parentName = function(dataAndEvents) { | |
/** @type {Object} */ | |
this.hn = dataAndEvents; | |
/** @type {(Storage|null)} */ | |
this.Vn = window.localStorage; | |
}; | |
inherits(parentName, entity); | |
var prefs = new Cookie("debug"); | |
/** @type {boolean} */ | |
var bytenew = false; | |
/** | |
* @return {?} | |
*/ | |
var getNativeElement = function() { | |
return prefs.get("enabled", bytenew); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var setHtml = function() { | |
}; | |
/** | |
* @param {string} fmt | |
* @param {Object} opt_attributes | |
* @return {undefined} | |
*/ | |
var controller = function(fmt, opt_attributes) { | |
console.groupCollapsed(fmt); | |
console.log.apply(console, Array.prototype.slice.call(arguments, 1)); | |
console.groupEnd(); | |
}; | |
var a1 = {}; | |
append("debug.timings", function() { | |
console.log("Timings:"); | |
var p; | |
for (p in a1) { | |
var o = a1[p]; | |
console.log(" " + p + ": " + Math.round(o.time / o.dz * 1E3) / 1E3 + "ms/invocation (" + Math.round(1E3 * o.time) / 1E3 + "ms for " + o.dz + " invocations)"); | |
} | |
}); | |
append("idspispopd", function() { | |
/** @type {boolean} */ | |
var opt_isDefault = !getNativeElement(); | |
prefs.set("enabled", opt_isDefault); | |
/** @type {boolean} */ | |
opts.Ck = opt_isDefault; | |
}); | |
append("idclip", function() { | |
debugger; | |
}); | |
/** | |
* @param {number} opt_attributes | |
* @param {Function} fn | |
* @return {?} | |
*/ | |
var _concat = function(opt_attributes, fn) { | |
return handleEvent(opt_attributes, indents | backgroundLayerMask | ERROR_HANDLED, function(err) { | |
return getNativeElement() ? fn(err) : false; | |
}); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var EventEmitter = function() { | |
this.tq = resetQueues(); | |
/** @type {Array} */ | |
this.Fe = []; | |
}; | |
/** | |
* @param {Function} fn | |
* @return {undefined} | |
*/ | |
EventEmitter.prototype.addListener = function(fn) { | |
this.Fe.push(fn); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
EventEmitter.prototype.br = function() { | |
/** @type {number} */ | |
var r20 = resetQueues() - this.tq; | |
this.tq = resetQueues(); | |
/** @type {number} */ | |
var conditionIndex = 0; | |
for (;conditionIndex < this.Fe.length;conditionIndex++) { | |
this.Fe[conditionIndex](r20); | |
} | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
var $broadcast = function(opt_attributes) { | |
var transaction = ee; | |
return resetQueues() - transaction.tq <= opt_attributes; | |
}; | |
var ee = new EventEmitter; | |
attempt(function() { | |
if (!syntax || !_isSafari) { | |
var handler = ee; | |
handler = bind(handler.br, handler); | |
addEvent(window.document.body, "mousemove", handler); | |
addEvent(window.document.body, "keydown", handler); | |
} | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var Selection = function() { | |
/** @type {Array} */ | |
this.Fe = []; | |
/** @type {number} */ | |
this.wn = 0; | |
if ("onselectionchange" in document) { | |
/** @type {boolean} */ | |
this.Dr = false; | |
if (isContentHeight) { | |
defineProperties(this); | |
addEvent(document, "selectionchange", bind(this.Vo, this, "selectionchange")); | |
} else { | |
addEvent(document, "selectionchange", bind(this.Dk, this, null)); | |
} | |
} else { | |
setEventHandlers(this); | |
} | |
}; | |
/** | |
* @param {?} self | |
* @return {undefined} | |
*/ | |
var setEventHandlers = function(self) { | |
/** @type {boolean} */ | |
self.Dr = true; | |
defineProperties(self); | |
if (isFn()) { | |
_handle(self); | |
} else { | |
self.pause(); | |
} | |
addEvent(document.body, "keypress", bind(self.lm, self, "keypress")); | |
addEvent(document.body, "mousedown", bind(self.Mx, self)); | |
freeze(bind(function(dataAndEvents) { | |
if (dataAndEvents) { | |
triggerEvents(this); | |
} else { | |
this.pause(); | |
} | |
}, self)); | |
}; | |
/** | |
* @param {?} object | |
* @return {undefined} | |
*/ | |
var defineProperties = function(object) { | |
object.Tg = { | |
rangeCount : 0, | |
isCollapsed : true, | |
anchorNode : null, | |
anchorOffset : 0, | |
focusNode : null, | |
focusOffset : 0 | |
}; | |
}; | |
self = Selection.prototype; | |
/** | |
* @param {Function} fn | |
* @return {undefined} | |
*/ | |
self.addListener = function(fn) { | |
this.Fe.push(fn); | |
}; | |
/** | |
* @param {string} event | |
* @return {undefined} | |
*/ | |
self.uh = function(event) { | |
var uncaught = bind(function(values) { | |
this.removeListener(uncaught); | |
event(values); | |
}, this); | |
this.addListener(uncaught); | |
}; | |
/** | |
* @param {Function} fn | |
* @return {undefined} | |
*/ | |
self.removeListener = function(fn) { | |
removeAll(this.Fe, fn); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.pause = function() { | |
this.wn++; | |
if (this.Dr) { | |
if (this.pu) { | |
/** @type {boolean} */ | |
this.pu = false; | |
window.clearInterval(this.Oz); | |
} | |
} | |
}; | |
/** | |
* @param {?} obj | |
* @return {undefined} | |
*/ | |
var triggerEvents = function(obj) { | |
obj.wn--; | |
if (0 == obj.wn) { | |
if (obj.Dr) { | |
_handle(obj); | |
} | |
} | |
}; | |
/** | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
self.Dk = function(recurring) { | |
recurring = recurring || window.getSelection(); | |
if (!(0 < this.wn)) { | |
/** @type {number} */ | |
var conditionIndex = 0; | |
for (;conditionIndex < this.Fe.length;conditionIndex++) { | |
this.Fe[conditionIndex](recurring); | |
} | |
} | |
}; | |
/** | |
* @param {?} context | |
* @return {undefined} | |
*/ | |
var _handle = function(context) { | |
/** @type {boolean} */ | |
context.pu = true; | |
context.Oz = createDom(bind(context.Vo, context, "polling"), 250); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Vo = function() { | |
/** @type {(Selection|null)} */ | |
var recurring = window.getSelection(); | |
if (recurring) { | |
/** @type {boolean} */ | |
var b = false; | |
var name; | |
for (name in this.Tg) { | |
var value = recurring[name]; | |
if (value != this.Tg[name]) { | |
this.Tg[name] = value; | |
/** @type {boolean} */ | |
b = true; | |
} | |
} | |
if (b) { | |
this.Dk(recurring); | |
} | |
} | |
}; | |
self.lm = crop(Selection.prototype.Vo); | |
/** | |
* @return {undefined} | |
*/ | |
self.Mx = function() { | |
this.lm("mousedown"); | |
this.Nx = addEvent(document, "mousemove", bind(this.Ox, this)); | |
this.Px = addEvent(document, "mouseup", bind(this.Qx, this)); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Ox = function() { | |
this.lm("mousemove"); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Qx = function() { | |
this.lm("mouseup"); | |
removeListener(this.Nx); | |
removeListener(this.Px); | |
}; | |
var events = new Selection; | |
/** | |
* @return {undefined} | |
*/ | |
var d = function() { | |
this.Xa = jQuery("#chat-tabs"); | |
/** @type {Array} */ | |
this.Cc = []; | |
this.Bc = {}; | |
/** @type {number} */ | |
this.sp = this.Yj = 0; | |
/** @type {boolean} */ | |
this.up = false; | |
rotate(this, execCommand()); | |
freeze(bind(function() { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.Cc.length;i++) { | |
var seg = this.Cc[i]; | |
if (seg.Sg) { | |
seg.show(); | |
} | |
} | |
}, this)); | |
}; | |
/** | |
* @param {?} name | |
* @param {?} optgroup | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
d.prototype.update = function(name, optgroup, recurring) { | |
if (name != html() && !this.up) { | |
var viewName = optgroup.data("replacement-for"); | |
if (viewName) { | |
var view = this.Bc[viewName]; | |
if (view) { | |
eventType(optgroup, "replacement-for"); | |
delete this.Bc[viewName]; | |
this.Bc[name] = view; | |
view.replace(name, optgroup, recurring); | |
} | |
} else { | |
if (name in this.Bc) { | |
this.Bc[name].update(optgroup, recurring); | |
} else { | |
view = new Resize(name, optgroup, recurring); | |
this.Cc.push(view); | |
this.Bc[name] = view; | |
name = now(); | |
view.Ol = name; | |
dispatchEvent(result); | |
name = view; | |
/** @type {number} */ | |
name.Wk = this.Cc.length - 1; | |
getElement(name); | |
applyStyle(view, 1); | |
view.add(this.Xa); | |
} | |
} | |
} | |
}; | |
/** | |
* @param {?} obj | |
* @param {string} key | |
* @param {?} object | |
* @return {undefined} | |
*/ | |
var hasKey = function(obj, key, object) { | |
if (!(data.ka && data.ka.id == key)) { | |
next("/-/chat-tab", { | |
user_id : key | |
}, bind(function(data) { | |
if (object) { | |
object(); | |
} | |
var fileId = data.thread_id; | |
if (fileId == html()) { | |
jQuery(".thread[data-id='" + fileId + "'] .input .text").focus(); | |
} else { | |
var recurring = data.seen_message_sequence; | |
data = get(data.html); | |
pause(this, fileId, data, recurring); | |
} | |
}, obj)); | |
} | |
}; | |
/** | |
* @param {Array} recipients | |
* @param {(Element|string)} value | |
* @return {undefined} | |
*/ | |
var _finish = function(recipients, value) { | |
var suiteView = result; | |
var selfObj = SavingFiles(); | |
var in_chat_tab = silentOptions.j("chat-button"); | |
close(); | |
next("/-/start-thread", { | |
recipients : recipients, | |
title : value, | |
in_chat_tab : in_chat_tab | |
}, bind(function(next) { | |
selfObj.remove(); | |
close(); | |
if (in_chat_tab) { | |
setup(next); | |
pause(this, next.id, this.Bc[next.id].ea, 0); | |
} else { | |
onclick(next.id); | |
} | |
}, suiteView), function() { | |
selfObj.remove(); | |
return true; | |
}); | |
}; | |
/** | |
* @param {Error} accessToken | |
* @return {undefined} | |
*/ | |
var login = function(accessToken) { | |
var suiteView = result; | |
if (accessToken == html()) { | |
jQuery(".thread[data-id='" + accessToken + "'] .input .text").focus(); | |
} else { | |
next("/-/chat-tab", { | |
thread_id : accessToken | |
}, bind(function(data) { | |
var recurring = data.seen_message_sequence; | |
data = get(data.html); | |
pause(this, accessToken, data, recurring); | |
}, suiteView)); | |
} | |
}; | |
/** | |
* @param {Element} self | |
* @param {Object} id | |
* @param {?} optgroup | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
var pause = function(self, id, optgroup, recurring) { | |
if (id != html() && !self.up) { | |
var element; | |
if (id in self.Bc) { | |
element = self.Bc[id]; | |
element.update(optgroup, recurring, true); | |
} else { | |
element = new Resize(id, optgroup, recurring); | |
self.Cc.push(element); | |
self.Bc[id] = element; | |
id = now(); | |
/** @type {Object} */ | |
element.Ol = id; | |
dispatchEvent(result); | |
id = element; | |
/** @type {number} */ | |
id.Wk = self.Cc.length - 1; | |
getElement(id); | |
applyStyle(element, 0); | |
element.add(self.Xa, true); | |
} | |
element.pn(); | |
} | |
}; | |
/** | |
* @param {?} $conditional | |
* @return {?} | |
*/ | |
d.prototype.pn = function($conditional) { | |
return $conditional in this.Bc ? (this.Bc[$conditional].pn(), true) : false; | |
}; | |
/** | |
* @param {?} options | |
* @param {(number|string)} value | |
* @return {undefined} | |
*/ | |
var rotate = function(options, value) { | |
/** @type {boolean} */ | |
var i = options.bm != value; | |
/** @type {(number|string)} */ | |
options.bm = value; | |
if (!tween(options) && i) { | |
/** @type {number} */ | |
i = 0; | |
for (;i < options.Cc.length;i++) { | |
getElement(options.Cc[i]); | |
} | |
} | |
}; | |
/** | |
* @param {?} options | |
* @return {?} | |
*/ | |
var tween = function(options) { | |
/** @type {boolean} */ | |
var origContext = "desktop-mode" != options.bm && !(start(options.Xa, ".dialog.active") || start(jQuery("#app"), ".chat-list.active")); | |
return origContext != options.Ll ? (attach(options, origContext), true) : false; | |
}; | |
/** | |
* @param {?} target | |
* @param {boolean} context | |
* @return {undefined} | |
*/ | |
var attach = function(target, context) { | |
if (target.Ll != context) { | |
/** @type {boolean} */ | |
target.Ll = context; | |
addClass(target.Xa, "stacked", context); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < target.Cc.length;i++) { | |
var self = target.Cc[i]; | |
getElement(self); | |
off(self.ea, bind(self.Sq, self)); | |
var v02 = 0 == self.ui && context ? target.Yj : self.eo; | |
addClass(self.qh, "none", 0 == v02); | |
self.qh.ca(v02); | |
} | |
} | |
}; | |
/** | |
* @param {?} optgroup | |
* @return {undefined} | |
*/ | |
var goNext = function(optgroup) { | |
var parent = result; | |
if (optgroup in parent.Bc) { | |
parent.remove(optgroup); | |
} | |
jQuery("#inbox .contact.selected").k("selected"); | |
if (optgroup = removeData(optgroup)) { | |
jQuery("#inbox .contact[data-id='" + optgroup.id + "']").g("selected"); | |
} | |
}; | |
/** | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
d.prototype.remove = function(name) { | |
if (name in this.Bc) { | |
var item = this.Bc[name]; | |
item.remove(); | |
delete this.Bc[name]; | |
name = index(this.Cc, item); | |
this.Cc.splice(name, 1); | |
for (;name < this.Cc.length;name++) { | |
item = this.Cc[name]; | |
item.Wk = name; | |
getElement(item); | |
} | |
dispatchEvent(this); | |
} | |
}; | |
/** | |
* @param {Array} properties | |
* @return {undefined} | |
*/ | |
var dispatchEvent = function(properties) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < properties.Cc.length;i++) { | |
var n = properties.Cc[i] | |
} | |
properties = toPaddedString(properties.Cc); | |
properties.sort(function(b, a) { | |
return a.Ol - b.Ol; | |
}); | |
/** @type {number} */ | |
i = 0; | |
for (;i < properties.length;i++) { | |
n = properties[i]; | |
if (n.ui != i) { | |
slideTo(n, i); | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var stroke = function() { | |
var data = result; | |
data.sp++; | |
data.Xa.g("dialog-active"); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
d.prototype.rp = function() { | |
this.sp--; | |
if (0 == this.sp) { | |
this.Xa.k("dialog-active"); | |
} | |
}; | |
/** | |
* @param {?} time | |
* @param {Object} element | |
* @param {?} opt_acc | |
* @return {undefined} | |
*/ | |
var Resize = function(time, element, opt_acc) { | |
this.$n = time; | |
/** @type {Object} */ | |
this.ea = element; | |
this.vq = opt_acc; | |
/** @type {number} */ | |
this.ui = -1; | |
this.qf = element.find(".message-preview"); | |
this.cd = element.find(".activity-log"); | |
this.di = this.cd.find(".messages"); | |
this.qh = element.find(".unread-count"); | |
this.ql = element.find(".picture-grid"); | |
}; | |
self = Resize.prototype; | |
/** | |
* @param {?} type | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {undefined} | |
*/ | |
self.add = function(type, expectedNumberOfNonCommentArgs) { | |
expectedNumberOfNonCommentArgs = expectedNumberOfNonCommentArgs || false; | |
type.append(this.ea); | |
addClass(addClass(this.ea, "bounce-timing-function", !expectedNumberOfNonCommentArgs), "open-immediately", expectedNumberOfNonCommentArgs).g("new"); | |
if (isFn()) { | |
this.show(); | |
} else { | |
/** @type {boolean} */ | |
this.Sg = true; | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.show = function() { | |
/** @type {boolean} */ | |
this.Sg = false; | |
var open_immediately = this.ea.j("open-immediately"); | |
finish(bind(function() { | |
this.ea.k("new"); | |
off(this.ea, bind(function() { | |
if (open_immediately) { | |
this.ea.k("open-immediately"); | |
} else { | |
enter(this); | |
this.ea.k("bounce-timing-function"); | |
} | |
}, this)); | |
}, this)); | |
this.Sq(); | |
if (open_immediately) { | |
appendTo(this.di, 0); | |
} else { | |
push(bind(function() { | |
f(this.di, exitCode, bind(function() { | |
appendTo(this.di, 0); | |
}, this)); | |
}, this), 300); | |
} | |
}; | |
/** | |
* @param {Object} self | |
* @param {number} target | |
* @return {undefined} | |
*/ | |
var slideTo = function(self, target) { | |
/** @type {number} */ | |
self.ui = target; | |
addClass(self.ea, "top-tab", 0 == target); | |
getElement(self); | |
}; | |
/** | |
* @param {Object} self | |
* @return {undefined} | |
*/ | |
var getElement = function(self) { | |
var value = _connect(self); | |
var descriptor = getObject(); | |
if (descriptor) { | |
self.ea.ja(pdataCur, "translateX(" + -value + "px)"); | |
} else { | |
getDimensions(self.ea, value); | |
} | |
self.ea.ja("zIndex", String(100 - self.ui)); | |
/** @type {number} */ | |
value = -value - result.Xa.Sz(); | |
var element = self.ea.find(".dialog"); | |
if (descriptor) { | |
element.ja(pdataCur, "translateX(" + -value + "px)"); | |
} else { | |
element.ja("marginRight", value + "px"); | |
} | |
self.Sq(); | |
if (self.cd.j("active")) { | |
ensureUp(self, self.cd); | |
} | |
}; | |
/** | |
* @param {Object} obj | |
* @return {?} | |
*/ | |
var _connect = function(obj) { | |
/** @type {number} */ | |
var k = 0; | |
if (!data.Ed.Xg) { | |
if (!("desktop-mode" != result.bm)) { | |
/** @type {number} */ | |
k = 58; | |
} | |
} | |
/** @type {number} */ | |
var charWidth = 54; | |
var l = obj.Wk; | |
if (result.Ll) { | |
/** @type {number} */ | |
charWidth = 5; | |
l = obj.ui; | |
} | |
return l * charWidth + k; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Sq = function() { | |
var el = this.ea.find(".tooltip .thread-title"); | |
if (getElementById(el)) { | |
css(el, "marginRight"); | |
var b = el.ga(); | |
/** @type {number} */ | |
var innerWidth = window.innerWidth - 5; | |
if (b.right > innerWidth) { | |
el.ja("marginRight", 2 * (b.right - innerWidth) + "px"); | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.remove = function() { | |
if (isFn()) { | |
this.ea.g("removing"); | |
off(this.ea, bind(function() { | |
this.ea.remove(); | |
}, this)); | |
} else { | |
this.ea.remove(); | |
} | |
transaction(this.cd); | |
transaction(this.qf); | |
}; | |
/** | |
* @param {?} name | |
* @param {boolean} recurring | |
* @param {boolean} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
self.update = function(name, recurring, deepDataAndEvents) { | |
/** @type {boolean} */ | |
this.vq = recurring; | |
if (this.cd.j("active")) { | |
this.Br(); | |
} else { | |
this.Ol = now(); | |
dispatchEvent(result); | |
applyStyle(this, this.eo + 1); | |
} | |
recurring = name.find(".picture-grid"); | |
replace(this.ql, recurring); | |
/** @type {boolean} */ | |
this.ql = recurring; | |
if (1 < this.eo) { | |
transaction(this.qf); | |
} else { | |
if (!deepDataAndEvents) { | |
replace(this.qf.find(".preview"), name.find(".message-preview .preview")); | |
enter(this); | |
} | |
} | |
}; | |
/** | |
* @param {?} o | |
* @param {string} value | |
* @return {undefined} | |
*/ | |
self.replace = function(o, value) { | |
/** | |
* @param {?} error | |
* @param {Node} d | |
* @return {?} | |
*/ | |
function callback(error, d) { | |
var settings = error.get(); | |
var element = d.get(); | |
element.className = settings.className; | |
var name; | |
for (name in settings.style) { | |
element.style[name] = settings.style[name]; | |
} | |
return d; | |
} | |
/** | |
* @param {?} error | |
* @param {string} value | |
* @return {?} | |
*/ | |
function stat(error, value) { | |
callback(error.find(".arrow"), value.find(".arrow")); | |
return callback(error, value); | |
} | |
this.$n = o; | |
this.qf = stat(this.qf, value.find(".message-preview")); | |
this.cd = stat(this.cd, value.find(".activity-log")); | |
this.di = callback(this.di, this.cd.find(".messages")); | |
this.qh = callback(this.qh, value.find(".unread-count")); | |
this.ql = callback(this.ql, value.find(".picture-grid")); | |
var suiteView = this.ea; | |
this.ea = callback(this.ea, value); | |
replace(suiteView, value); | |
appendTo(this.di, 0); | |
slideTo(this, this.ui); | |
this.Wk = this.Wk; | |
getElement(this); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.pn = function() { | |
setData(this.$n); | |
if (!this.cd.j("active")) { | |
exit(this); | |
} | |
}; | |
/** | |
* @param {?} settings | |
* @return {undefined} | |
*/ | |
var line = function(settings) { | |
stroke(); | |
settings.g("visible"); | |
finish(function() { | |
settings.g("active"); | |
}); | |
}; | |
/** | |
* @param {?} obj | |
* @return {undefined} | |
*/ | |
var transaction = function(obj) { | |
if (obj.j("active")) { | |
close(obj); | |
} | |
}; | |
/** | |
* @param {Object} self | |
* @return {undefined} | |
*/ | |
var enter = function(self) { | |
if (!start(result.Xa, ".dialog.active")) { | |
if (exec(self.fq)) { | |
protectedClearTimeout(self.fq); | |
} | |
line(self.qf); | |
var style = self.qf.find(".preview"); | |
css(style, "width"); | |
var e = style.find(".text"); | |
if (!e.empty()) { | |
e = e.ga(); | |
var rect = style.ga(); | |
var margin = style.paddingRight(); | |
if (e.right < rect.right - margin) { | |
style.gb(e.right - rect.left + margin); | |
} | |
} | |
ensureUp(self, self.qf); | |
self.fq = push(bind(function() { | |
transaction(this.qf); | |
delete this.fq; | |
}, self), 5E3); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Fr = function() { | |
applyStyle(this, 0); | |
/** @type {number} */ | |
this.Ol = -1; | |
dispatchEvent(result); | |
close(); | |
line(this.cd); | |
ensureUp(this, this.cd); | |
appendTo(this.di, 0); | |
this.cd.find(".input .text").focus(); | |
this.Br(); | |
layer(this.$n); | |
}; | |
/** | |
* @param {Object} self | |
* @param {Object} target | |
* @return {undefined} | |
*/ | |
var ensureUp = function(self, target) { | |
/** @type {number} */ | |
var t = window.innerWidth; | |
var delta = target.width(); | |
/** @type {number} */ | |
var x = t - _connect(self); | |
var size = self.ql.width(); | |
/** @type {number} */ | |
x = x - size; | |
/** @type {number} */ | |
size = x + size / 2; | |
var $this = target.find(".arrow"); | |
/** @type {number} */ | |
var y = t + 5; | |
if (y - delta > x - 20) { | |
y = x - 20 + delta; | |
} | |
getDimensions(target, t - y); | |
getDimensions($this, y - size - $this.width() + 2); | |
}; | |
/** | |
* @param {?} self | |
* @return {undefined} | |
*/ | |
var exit = function(self) { | |
if (self.cd.j("active")) { | |
transaction(self.cd); | |
} else { | |
transaction(self.qf); | |
if (result.Ll) { | |
attach(result, false); | |
if (1 < result.Cc.length) { | |
off(result.Xa, bind(self.Fr, self)); | |
} else { | |
self.Fr(); | |
} | |
} else { | |
self.Fr(); | |
} | |
} | |
}; | |
/** | |
* @param {?} dataAndEvents | |
* @return {undefined} | |
*/ | |
self.rp = function(dataAndEvents) { | |
if (dataAndEvents.wa(this.cd)) { | |
if ("desktop-mode" != result.bm) { | |
off(this.cd, function() { | |
tween(result); | |
}); | |
} | |
} | |
}; | |
/** | |
* @param {?} el | |
* @param {number} v02 | |
* @return {undefined} | |
*/ | |
var applyStyle = function(el, v02) { | |
/** @type {number} */ | |
el.eo = v02; | |
addClass(el.qh, "none", 0 == v02); | |
el.qh.ca(v02); | |
var app = result; | |
/** @type {number} */ | |
app.Yj = 0; | |
var self; | |
/** @type {number} */ | |
var p = 0; | |
for (;p < app.Cc.length;p++) { | |
var n = app.Cc[p]; | |
app.Yj += n.eo; | |
if (0 == n.ui) { | |
self = n; | |
} | |
} | |
if (app.Ll) { | |
addClass(self.qh, "none", 0 == app.Yj); | |
self.qh.ca(app.Yj); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Br = function() { | |
if (getElementById(this.ea)) { | |
if (isFn() && $broadcast(3E5)) { | |
pass(this.$n, this.vq); | |
} else { | |
push(bind(this.Br, this), 1E3); | |
} | |
} | |
}; | |
var result; | |
attempt(function() { | |
result = new d; | |
result.up = item.j("standalone"); | |
}); | |
$("click", "chat-tab", function() { | |
exit(result.Bc[this.data("id")]); | |
return false; | |
}); | |
$("click", "chat-tab-close", function() { | |
result.remove(this.data("id")); | |
return false; | |
}); | |
$("dialog-cleanup", "chat-tab", function() { | |
result.rp(); | |
var filename = this.parent(".chat-tab").data("id"); | |
if (filename = result.Bc[filename]) { | |
filename.rp(this); | |
} | |
return true; | |
}); | |
$("input", "chat-tab", function() { | |
addClass(this, "dirty", arrayContains(this.find(".text,.files"))); | |
return true; | |
}); | |
$("click", "open-chat-tab", function() { | |
close(); | |
_toString("listen"); | |
hasKey(result, this.data("id")); | |
return false; | |
}); | |
var seen = {}; | |
/** | |
* @param {Object} obj | |
* @return {undefined} | |
*/ | |
var effect = function(obj) { | |
click(data, obj, "chat-from-composer", jQuery(".chat-list .online-view .online .chat-list-section")); | |
/** @type {number} */ | |
seen[obj.id] = 1; | |
}; | |
/** | |
* @param {string} value | |
* @param {string} data | |
* @return {undefined} | |
*/ | |
var loaded = function(value, data) { | |
_create("frequent-contacts", value); | |
var $this = jQuery(".frequent-contacts .contact"); | |
var cl = $this.length(); | |
/** @type {number} */ | |
var c = jQuery(".recent-group-threads .thread-row").length() + cl - 6; | |
var targets = jQuery(".other-contacts .chat-list-section"); | |
/** @type {number} */ | |
var exports = 0; | |
for (;exports < c;exports++) { | |
targets.append(new klass([$this.get(cl - 1 - exports)])); | |
} | |
_create("other-contacts", data); | |
exports = jQuery(".chat-list .online-view .offline .chat-list-section"); | |
if (!exports.empty()) { | |
if (!exports.j("loaded")) { | |
if (value) { | |
exports.append(get(value)); | |
} | |
if (data) { | |
exports.append(get(data)); | |
} | |
exports.g("loaded"); | |
} | |
} | |
$this = jQuery(".chat-list .address-book .chat-list-section"); | |
cl = $this.find(".address-row"); | |
exports = appendModelPrefix(); | |
/** @type {number} */ | |
c = cl.length() - exports; | |
if (0 < c) { | |
/** @type {number} */ | |
exports = 0; | |
for (;exports < c;exports++) { | |
$this.get(0).removeChild(cl.get(cl.length() - 1 - exports)); | |
} | |
if (!start($this, ".address-row")) { | |
jQuery(".chat-list .address-book").ua(); | |
} | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
var appendModelPrefix = function() { | |
return 100 - (jQuery(".frequent-contacts .contact").length() + jQuery(".other-contacts .contact").length()); | |
}; | |
/** | |
* @param {string} type | |
* @param {string} d | |
* @return {undefined} | |
*/ | |
var _create = function(type, d) { | |
if (d) { | |
var a = get(d); | |
var me = jQuery("." + type + " .chat-list-section"); | |
if (!me.empty()) { | |
if (!me.j("loaded")) { | |
me.append(a); | |
me.g("loaded"); | |
jQuery("." + type).show(); | |
expect(a, function(option) { | |
/** @type {number} */ | |
seen[jQuery(option).data("id")] = 1; | |
}); | |
} | |
} | |
} | |
}; | |
/** @type {null} */ | |
var silentOptions = null; | |
/** | |
* @param {?} value | |
* @param {?} d | |
* @return {undefined} | |
*/ | |
var setDate = function(value, d) { | |
value.find(".chat-members-section").show(); | |
d.setData("click", "remove-user-from-chat"); | |
value.find(".chat-members-list").append(d); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var learn = function() { | |
off(jQuery(".chat-list"), function() { | |
tween(result); | |
}); | |
}; | |
/** | |
* @param {string} key | |
* @return {undefined} | |
*/ | |
var access = function(key) { | |
if (silentOptions.j("chat-button")) { | |
hasKey(result, key); | |
} else { | |
var text = data.Ka(key).chat_thread_id; | |
if (text) { | |
onclick(text); | |
} else { | |
text = jQuery(".chat-list-composer"); | |
text.setData("id", key); | |
createOption(text, silentOptions); | |
} | |
} | |
}; | |
$("click", "create-group-chat", function() { | |
var e = jQuery(".group-composer-name-dialog"); | |
reset(e); | |
return false; | |
}); | |
$("click", "create-group-chat-cancel", function() { | |
reset(jQuery(".chat-contacts-dialog")); | |
return false; | |
}); | |
$("keydown", "group-chat-name", function(event) { | |
return 13 == event.keyCode ? (obj.click["create-group-chat-next"].call(this.parent(".dialog").find(".right.action"), null), false) : true; | |
}); | |
$("click", "create-group-chat-next", function() { | |
var e = this.parent(".dialog").find(".group-chat-name"); | |
var result = e.value().trim(); | |
if (!result) { | |
return e.focus(), false; | |
} | |
e = jQuery(".group-composer-members-dialog"); | |
e.find(".group-chat-start").setData("group-name", result); | |
result = data; | |
var i; | |
/** @type {number} */ | |
i = 200; | |
/** @type {Array.<string>} */ | |
var item = Object.keys(result.od); | |
groupBy(result, item); | |
/** @type {Array.<string>} */ | |
result = i ? item.slice(0, i) : item; | |
/** @type {number} */ | |
i = 0; | |
for (;i < result.length;i++) { | |
/** @type {string} */ | |
item = result[i]; | |
if (item != data.ka.id) { | |
item = data.Jd(data.Ka(item)); | |
item.g("presence"); | |
item.setData("click", "add-user-to-chat"); | |
e.find(".chat-contacts-list").append(item); | |
} | |
} | |
successCallback(e); | |
reset(e); | |
return false; | |
}); | |
$("click", "open-new-group-thread", function() { | |
var udataCur = this.data("group-name"); | |
/** @type {Array} */ | |
var recipients = []; | |
expect(this.parent(".dialog").find(".chat-members-list").find(".object-row"), function() { | |
recipients.push(jQuery(this).data("id")); | |
}); | |
if (2 > recipients.length) { | |
return false; | |
} | |
_finish(recipients, udataCur); | |
return false; | |
}); | |
$("click", "add-user-to-chat", function() { | |
var udataCur = this.parent(".dialog"); | |
setDate(udataCur, this); | |
return false; | |
}); | |
$("click", "remove-user-from-chat", function() { | |
var closest = this.parent(".dialog"); | |
text(closest.find(".chat-contacts-list"), this); | |
this.setData("click", "add-user-to-chat"); | |
var ua = closest.find(".chat-members-section"); | |
if (!arrayContains(closest.find(".chat-members-list"))) { | |
ua.ua(); | |
} | |
return false; | |
}); | |
$("search-filter", "group-chat-composer-add", function() { | |
return!start(jQuery("#chat-members-list"), ".object-row[data-id='" + this.id + "']"); | |
}); | |
$("search-handler", "group-chat-composer-add", function() { | |
var closest = this.parent(".dialog"); | |
var month = closest.find(".chat-contacts-list").find(".object-row[data-id='" + this.data("id") + "']"); | |
if (month.empty()) { | |
month = data.Jd(data.Ka(this.data("id"))); | |
} | |
setDate(closest, month); | |
return true; | |
}); | |
$("dialog-cleanup", "chat-contacts-dialog", function() { | |
moveHandler(this.find("input")); | |
learn(); | |
return true; | |
}); | |
$("dialog-cleanup", "chat-list-composer", function() { | |
unload(this.find(".message-input")); | |
indexOf(this.find(".chat-title"), ""); | |
eventType(this.find(".message-input"), "recipients"); | |
learn(); | |
return true; | |
}); | |
$("dialog-cleanup", "group-composer-name-dialog", function() { | |
this.find(".group-chat-name").af(""); | |
learn(); | |
return true; | |
}); | |
$("dialog-cleanup", "group-composer-members-dialog", function() { | |
moveHandler(this.find("input")); | |
removeChild(this.find(".chat-members-list")); | |
this.find(".chat-members-section").ua(); | |
removeChild(this.find(".chat-contacts-list")); | |
learn(); | |
return true; | |
}); | |
$("click", "show-chat-list", function() { | |
if (start(jQuery("#app"), ".chat-list.active") && silentOptions.wa(this)) { | |
return close(), false; | |
} | |
close(); | |
var me = jQuery(".chat-contacts-dialog"); | |
addClass(me, "composing", this.j("compose")); | |
createOption(me, this); | |
if (this.j("chat-button")) { | |
off(jQuery(".chat-contacts-dialog"), function() { | |
tween(result); | |
}); | |
} | |
silentOptions = this; | |
return false; | |
}); | |
$("dialog-customize", "chat-contacts-dialog", function() { | |
return 2 >= jQuery(".chat-contacts-dialog").find(".object-row").length() ? (createOption(jQuery(".add-contacts.dialog"), this), false) : true; | |
}); | |
$("dialog-customize", "chat-list-composer", function() { | |
var self = jQuery(".chat-list-composer"); | |
var test = data.Ka(self.data("id")); | |
indexOf(self.find(".chat-title"), test.name); | |
self.find(".message-input").setData("recipients", self.data("id")); | |
return true; | |
}); | |
$("send-cleanup", "chat-list-composer", function() { | |
close(); | |
eventType(jQuery(".chat-list-composer .message-input"), "recipients"); | |
return true; | |
}); | |
$("click", "chat-from-composer", function() { | |
close(); | |
_toString("listen"); | |
var data = this.data("id"); | |
if (4 == validTest(data)) { | |
access(data); | |
} else { | |
if (silentOptions.j("chat-button")) { | |
login(data); | |
} else { | |
onclick(data); | |
} | |
} | |
return false; | |
}); | |
$("search-handler", "chat-list-contacts", function() { | |
close(); | |
access(this.data("id")); | |
return false; | |
}); | |
$("click", "chat-list-switch", function() { | |
if (this.j("selected")) { | |
return false; | |
} | |
var result = this.parent(".dialog"); | |
this.g("selected"); | |
var self; | |
var activeItem; | |
var ua; | |
if (this.j("all")) { | |
self = this.parent(".switcher").find(".online"); | |
activeItem = result.find(".all-view"); | |
ua = result.find(".online-view"); | |
result.k("online-viewing"); | |
} else { | |
self = this.parent(".switcher").find(".all"); | |
activeItem = result.find(".online-view"); | |
ua = result.find(".all-view"); | |
result.g("online-viewing"); | |
} | |
self.k("selected"); | |
ua.ua(); | |
activeItem.show(); | |
return false; | |
}); | |
/** | |
* @param {string} name | |
* @return {?} | |
*/ | |
var make_function = function(name) { | |
return jQuery('.composer .user-card.recipient[data-id="' + name + '"]'); | |
}; | |
/** | |
* @param {string} text | |
* @param {(number|string)} html | |
* @return {undefined} | |
*/ | |
var span = function(text, html) { | |
if (span_(text).empty()) { | |
createElement("span", "name-card address-card recipient").append(createElement("span")).setData("title", html || text).setData("info", text).setData("name", html || "").insertBefore(jQuery(".composer .recipients input")); | |
} | |
}; | |
/** | |
* @param {string} text | |
* @return {?} | |
*/ | |
var span_ = function(text) { | |
return jQuery('.composer .address-card.recipient[data-info="' + text + '"]'); | |
}; | |
$("dialog-customize", "composer", function() { | |
doc.load(); | |
return true; | |
}); | |
$("click", "composer-focus-to", function() { | |
this.parent(".composer").find(".to input").focus(); | |
return false; | |
}); | |
$("search-handler", "composer-to", function() { | |
var optgroup = this.data("id"); | |
if (this.j("contact")) { | |
if (make_function(optgroup).empty()) { | |
if (optgroup = data.Ka(optgroup)) { | |
data.yg(optgroup).g("recipient").insertBefore(jQuery(".composer .recipients input")); | |
} | |
} | |
} else { | |
optgroup = doc.Ka(optgroup); | |
span(optgroup.address, optgroup.name); | |
} | |
jQuery(".composer input").focus(); | |
return true; | |
}); | |
$("search-filter", "composer-to", function() { | |
return this.address ? span_(this.address).empty() : make_function(this.id).empty(); | |
}); | |
$("keydown", "composer-to", function(event) { | |
var text = this.value(); | |
return 13 == event.keyCode && (text && changeDelimiters(text)) ? (span(text), moveHandler(this), false) : event.keyCode != touchend || this.value() ? obj.keydown.search.call(this, event) : (parent(this.parent(".composer").find(".to .recipient")).remove(), false); | |
}); | |
$("blur", "composer-to", function() { | |
var text = this.value(); | |
if (text) { | |
if (changeDelimiters(text)) { | |
span(text); | |
moveHandler(this); | |
} | |
} | |
return true; | |
}); | |
$("input", "composer-to", function(mapper) { | |
if (this.value()) { | |
this.gb(this.get().scrollWidth); | |
} else { | |
css(this, "width"); | |
} | |
return obj.input.search.call(this, mapper); | |
}); | |
$("input", "composer", function() { | |
var p = this.parent(".input"); | |
var attributes = this.height() + 12; | |
if (attributes >= p.height()) { | |
p.Sa(attributes); | |
} else { | |
css(p, "height"); | |
} | |
addClass(this, "dirty", arrayContains(this.find(".text,.files"))); | |
return true; | |
}); | |
$("send-setup", "composer", function() { | |
/** @type {Array} */ | |
var pieces = []; | |
expect(jQuery(".composer .recipient.user-card"), function() { | |
pieces.push(jQuery(this).data("id")); | |
}); | |
/** @type {Array} */ | |
var leaks = []; | |
/** @type {Array} */ | |
var classes = []; | |
expect(jQuery(".composer .recipient.address-card"), function() { | |
var self = jQuery(this); | |
leaks.push(self.data("info")); | |
classes.push(self.data("name")); | |
}); | |
if (0 == pieces.length && 0 == leaks.length) { | |
return jQuery(".composer .to input").focus(), false; | |
} | |
jQuery(".composer .message-input").setData("recipients", pieces.join(",")).setData("invite-infos", leaks.join(",")).setData("invite-names", classes.join(",")); | |
return true; | |
}); | |
$("send-cleanup", "composer", function() { | |
close(); | |
jQuery(".composer .to input").clear().blur(); | |
jQuery(".composer .recipient").remove(); | |
eventType(eventType(eventType(jQuery(".composer .message-input"), "recipients"), "invite-infos"), "invite-names"); | |
return true; | |
}); | |
$("click", "composer-send", function() { | |
run(jQuery(".composer .message-input")); | |
return false; | |
}); | |
$("keydown", "contacts", function(e) { | |
var text = this.value(); | |
return 13 == e.keyCode && (text && changeDelimiters(text)) ? (confirm(text, void 0, void 0, function() { | |
error(callback("Invited %(name)s", { | |
name : text | |
})); | |
}), moveHandler(this), false) : obj.keydown.search.call(this, e); | |
}); | |
$("dialog-customize", "contacts", function() { | |
if (1 >= jQuery(".contacts.dialog .object-row").length()) { | |
return obj.click.dialog.call(jQuery(".contacts.dialog .add-contacts"), null), false; | |
} | |
win(jQuery(".contacts.dialog"), true); | |
disable(true); | |
return true; | |
}); | |
$("search-handler", "contacts", function() { | |
close(); | |
hasKey(result, this.data("id")); | |
return true; | |
}); | |
$("click", "remove-contact", function() { | |
next("/-/remove-contact", { | |
contact_user_id : this.parent(".object-row").data("id") | |
}, function(val) { | |
onComplete(val); | |
}); | |
return false; | |
}); | |
$("click", "open-chat-thread", function() { | |
if (!this.parent(".contacts.body").empty()) { | |
var match = this.data("id"); | |
if (match && (match = data.Ka(match), match.chat_thread_id)) { | |
return onclick(match.chat_thread_id), false; | |
} | |
} | |
close(); | |
_toString("listen"); | |
hasKey(result, this.data("id")); | |
return false; | |
}); | |
/** | |
* @return {?} | |
*/ | |
var getObject = function() { | |
if (window.matchMedia && isCORS) { | |
/** @type {Array} */ | |
var tagNameArr = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < vendors.length;i++) { | |
var vendorPrefix = vendors[i]; | |
/** @type {string} */ | |
var month = "transform-3d"; | |
if (vendorPrefix) { | |
/** @type {string} */ | |
month = "-" + vendorPrefix + "-" + month; | |
} | |
tagNameArr.push("(" + month + ")"); | |
} | |
return window.matchMedia(tagNameArr.join(",")).matches; | |
} | |
return null !== attrs && null !== pdataCur; | |
}; | |
/** | |
* @param {?} a | |
* @param {string} code | |
* @param {number} opt_attributes | |
* @return {undefined} | |
*/ | |
var error = function(a, code, opt_attributes) { | |
opt_attributes = opt_attributes || 5E3; | |
jQuery(".alert").remove(); | |
a = createElement("div", "alert").setData("time", opt_attributes).ca(a); | |
if (code) { | |
a.setData("click", "open-document").setData("id", code); | |
} | |
jQuery(window.document.body).append(a); | |
then(); | |
}; | |
/** | |
* @param {?} c | |
* @param {?} classNames | |
* @param {(Array|Uint8Array|string)} recurring | |
* @param {Function} done | |
* @param {string} klass | |
* @param {boolean} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
var removeClass = function(c, classNames, recurring, done, klass, deepDataAndEvents) { | |
/** @type {Array} */ | |
classNames = [classNames]; | |
/** @type {Array} */ | |
var attributes = ["ok"]; | |
if (recurring) { | |
classNames.push(recurring); | |
attributes.push("cancel"); | |
} | |
header("", c, classNames, attributes, function(ok) { | |
done("ok" == ok); | |
}, klass, deepDataAndEvents).find("button[data-dialog-label=ok]").g("default"); | |
}; | |
/** | |
* @param {Object} val | |
* @param {?} obj | |
* @param {Array} elem | |
* @param {Array} opt_attributes | |
* @param {Function} callback | |
* @param {string} name | |
* @param {boolean} deepDataAndEvents | |
* @return {?} | |
*/ | |
var header = function(val, obj, elem, opt_attributes, callback, name, deepDataAndEvents) { | |
val = draw({ | |
buttons : elem, | |
Ke : opt_attributes, | |
title : val, | |
message : obj, | |
/** | |
* @param {?} args | |
* @return {undefined} | |
*/ | |
ee : function(args) { | |
callback(args.wd); | |
}, | |
ar : deepDataAndEvents | |
}); | |
if (name) { | |
val.g(name); | |
} | |
return val; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var then = function() { | |
var obj = jQuery(".alert"); | |
if (attr(obj, "time")) { | |
push(function() { | |
obj.g("hidden"); | |
push(function() { | |
obj.remove(); | |
}, 500); | |
}, assertEquals(obj, "time")); | |
} | |
}; | |
/** | |
* @param {number} opt_attributes | |
* @return {?} | |
*/ | |
var SavingFiles = function(opt_attributes) { | |
var display = setStyle(createElement("div"), { | |
position : "fixed", | |
background : "rgba(0,0,0,0.85)", | |
borderRadius : "10px", | |
width : "100px", | |
height : "100px", | |
left : "50%", | |
top : "50%", | |
marginLeft : "-50px", | |
marginTop : "-50px" | |
}); | |
if (opt_attributes) { | |
display.ua(); | |
push(function() { | |
display.show(); | |
}, opt_attributes); | |
} | |
display.append(transform(50, "white")); | |
item.append(display); | |
return display; | |
}; | |
/** | |
* @param {number} height | |
* @param {string} color | |
* @return {?} | |
*/ | |
var transform = function(height, color) { | |
var c; | |
var width; | |
var size; | |
var l; | |
height = height || 40; | |
color = color || "#666"; | |
/** @type {number} */ | |
c = c || 1; | |
/** @type {number} */ | |
width = width || Math.round(height / 10); | |
/** @type {number} */ | |
size = size || Math.round(height / 3.6); | |
/** @type {number} */ | |
l = l || 12; | |
var form = createElement("div", "css-spinner"); | |
if (checkElements(peek(form, "animation"))) { | |
return console.warn("Browser does not support CSS animation"), new klass([]); | |
} | |
setStyle(form, { | |
width : height + "px", | |
height : height + "px", | |
marginLeft : -height / 2 + "px", | |
marginTop : -height / 2 + "px" | |
}); | |
/** @type {number} */ | |
var j = 0; | |
for (;j < l;j++) { | |
/** @type {number} */ | |
var rad = 2 * j * Math.PI / l; | |
/** @type {number} */ | |
var x = height / 2; | |
/** @type {number} */ | |
var el_t = Math.round(x - Math.cos(rad) * (x - size / 2) - size / 2); | |
/** @type {number} */ | |
x = Math.round(x + Math.sin(rad) * (x - size / 2) - width / 2); | |
/** @type {number} */ | |
rad = Math.round(180 * rad / Math.PI); | |
/** @type {number} */ | |
var t = (l - j) * c / l; | |
var display = createElement("div"); | |
setStyle(display, { | |
backgroundColor : color, | |
width : width + "px", | |
height : size + "px", | |
top : el_t + "px", | |
left : x + "px", | |
opacity : "0", | |
position : "absolute" | |
}); | |
display.ja("borderRadius", Math.round(width / 2) + "px"); | |
vendor(display, "animation", "css-spinner-animation " + c + "s linear infinite"); | |
vendor(display, "transform", "rotate(" + rad + "deg)"); | |
vendor(display, "animationDelay", -t + "s"); | |
form.append(display); | |
} | |
return form; | |
}; | |
/** | |
* @param {Function} callback | |
* @param {?} id | |
* @return {undefined} | |
*/ | |
var createForm = function(callback, id) { | |
/** | |
* @return {undefined} | |
*/ | |
function next() { | |
if (input.files.length) { | |
window.clearInterval(timeout); | |
if (processData(input.files)) { | |
callback(input.files); | |
} | |
} | |
} | |
/** @type {Element} */ | |
var input = document.createElement("input"); | |
if (id) { | |
input.setAttribute("accept", id); | |
} | |
addEvent(input, "change", next); | |
var timeout = createDom(next, 100); | |
push(function() { | |
window.clearInterval(timeout); | |
}, 6E4); | |
/** @type {string} */ | |
input.type = "file"; | |
input.click(); | |
}; | |
/** | |
* @param {Array} data | |
* @return {?} | |
*/ | |
var processData = function(data) { | |
/** @type {boolean} */ | |
var result = true; | |
if (data.length) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < data.length;i++) { | |
if (data[i].size && !(26214400 >= data[i].size)) { | |
/** @type {boolean} */ | |
result = false; | |
break; | |
} | |
} | |
} else { | |
/** @type {boolean} */ | |
result = !data.size || 26214400 >= data.size; | |
} | |
if (!result) { | |
removeClass(callback("Files larger than %(size)sMB cannot be uploaded.", { | |
size : 25 | |
}), extend(detectDevice(), "en") ? "Bummer" : callback("OK"), null, function() { | |
}); | |
} | |
return result; | |
}; | |
/** | |
* @param {?} value | |
* @param {Object} path | |
* @return {undefined} | |
*/ | |
var highlight = function(value, path) { | |
var res = transform(); | |
path.append(res).g("loading-lightbox"); | |
var node = createElement("img"); | |
node.setAttribute("src", value); | |
var $ = slice(addListener, node.get()); | |
var self = $("load", function() { | |
res.remove(); | |
path.k("loading-lightbox"); | |
removeListener(el); | |
var row = createElement("div", "lightbox").setData("click", "lightbox-close").append(createElement("div", "image-container").append(node).append(createElement("div", "delete-overlay-button large").setData("click", "lightbox-close")).append(createElement("a", "download").setAttribute("href", value).setAttribute("target", external ? "_blank" : ""))); | |
item.append(row); | |
activate(row); | |
}); | |
var el = $("error", function() { | |
res.remove(); | |
path.k("loading-lightbox"); | |
removeListener(self); | |
error(callback("Could not load image.")); | |
}); | |
}; | |
/** | |
* @param {Object} container | |
* @return {undefined} | |
*/ | |
var activate = function(container) { | |
var attributes = container.find("img").get(); | |
var opt_attributes = attributes.naturalWidth; | |
attributes = attributes.naturalHeight; | |
/** @type {number} */ | |
var volume = Math.round(0.8 * container.width()); | |
/** @type {number} */ | |
var min = Math.round(0.8 * container.height()); | |
/** @type {number} */ | |
volume = Math.min(volume / opt_attributes, min / attributes, 1); | |
/** @type {number} */ | |
opt_attributes = Math.round(volume * opt_attributes); | |
/** @type {number} */ | |
attributes = Math.round(volume * attributes); | |
addClass(addClass(container.find(".image-container").gb(opt_attributes).Sa(attributes).ja("marginLeft", Math.round(-opt_attributes / 2) + "px").ja("marginTop", Math.round(-attributes / 2) + "px"), "short", 128 > attributes), "tiny", 64 > attributes); | |
addClass(container.find(".delete-overlay-button"), "large", 64 < attributes); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var empty = function() { | |
var $div = jQuery(".lightbox"); | |
return $div.empty() ? jQuery(".dialog.active").empty() ? jQuery(".context-menu.active").empty() ? false : (addPlaceholder(), jQuery(".context-menu.active").empty()) : (close(), jQuery(".dialog.active").empty()) : ($div.remove(), true); | |
}; | |
addEvent(window, "resize", function() { | |
expect(jQuery(".lightbox"), function() { | |
activate(jQuery(this)); | |
}); | |
}); | |
$("change", "set-locale", function() { | |
var params = { | |
locale : this.value() | |
}; | |
/** @type {Element} */ | |
var form = document.createElement("form"); | |
/** @type {string} */ | |
form.method = "post"; | |
/** @type {string} */ | |
form.action = "/-/locale"; | |
params._csrf = _next("id"); | |
if (!params.next) { | |
/** @type {string} */ | |
params.next = window.location.href; | |
} | |
var par; | |
for (par in params) { | |
/** @type {Element} */ | |
var field = document.createElement("input"); | |
/** @type {string} */ | |
field.type = "hidden"; | |
/** @type {string} */ | |
field.name = par; | |
field.value = params[par]; | |
form.appendChild(field); | |
} | |
document.body.appendChild(form); | |
form.submit(); | |
return false; | |
}); | |
attempt(then); | |
attempt(function() { | |
expect(jQuery(".scroll-bottom"), function() { | |
appendTo(jQuery(this), 0); | |
}); | |
}); | |
addEvent(window.document.body, "click", function(element) { | |
/** @type {boolean} */ | |
var b = true; | |
/** @type {boolean} */ | |
var c = false; | |
element = element.target; | |
for (;element;element = element.parentNode) { | |
if (element == window.document.body) { | |
/** @type {boolean} */ | |
c = true; | |
break; | |
} | |
if (element.nodeType == ELEMENT_NODE) { | |
var self = jQuery(element); | |
if (self.j("dialog") || (self.j("popover-anchor") || "dialog" == self.data("click"))) { | |
/** @type {boolean} */ | |
b = false; | |
break; | |
} | |
if (self.j("popover-one-shot-anchor")) { | |
self.k("popover-one-shot-anchor"); | |
/** @type {boolean} */ | |
b = false; | |
break; | |
} | |
} | |
} | |
if (b) { | |
if (c) { | |
close(); | |
addPlaceholder(); | |
} | |
} | |
}); | |
$("click", "lightbox-close", function(oEvent) { | |
return jQuery(oEvent.target).j("download") ? true : (jQuery(".lightbox").remove(), false); | |
}); | |
attempt(function() { | |
var $div = jQuery(".modal.dialog"); | |
if (!$div.empty()) { | |
if (jQuery(".dialog.active").empty()) { | |
if ($div.parent(".mobile-dialog").empty()) { | |
createOption($div); | |
} | |
} | |
} | |
addEvent(document, "keydown", function(event) { | |
if (!(27 != event.keyCode)) { | |
if (!event.altKey) { | |
if (!event.metaKey) { | |
if (!event.ctrlKey) { | |
if (empty()) { | |
cancelEvent(event); | |
} | |
} | |
} | |
} | |
} | |
if (13 == event.keyCode && (!event.altKey && (!event.metaKey && !event.ctrlKey))) { | |
var rvar = jQuery(".dialog.active button.default").data("dialog-label"); | |
if (rvar) { | |
jQuery(".dialog.active").setData("dialog-label", rvar); | |
close(); | |
stopEvent(event); | |
cancelEvent(event); | |
} | |
} | |
}); | |
}); | |
/** | |
* @param {string} optgroup | |
* @param {?} inplace | |
* @param {?} rows | |
* @param {string} cols | |
* @return {undefined} | |
*/ | |
var build_gameboard = function(optgroup, inplace, rows, cols) { | |
this.ea = storage.ya().g(optgroup).ua(); | |
if (cols) { | |
/** @type {string} */ | |
this.tj = cols; | |
var key; | |
for (key in iterable) { | |
if (!(key in this.tj)) { | |
this.tj[key] = iterable[key]; | |
} | |
} | |
} else { | |
this.tj = iterable; | |
} | |
if (this.tj.lp) { | |
this.ea.g("dark"); | |
} else { | |
this.ea.g("light"); | |
} | |
this.Fs = this.ea.find(".arrow"); | |
/** @type {null} */ | |
this.Ja = null; | |
/** @type {boolean} */ | |
this.of = false; | |
this.pb = rows; | |
this.hk = this.ea.find(".body"); | |
/** @type {boolean} */ | |
this.qq = false; | |
this.hk.append(inplace); | |
}; | |
var iterable = { | |
lp : false, | |
ev : false, | |
xu : false | |
}; | |
var storage = get("<div class='bubble' contenteditable='false'><div class='body'></div><div class='arrow'></div></div>"); | |
self = build_gameboard.prototype; | |
/** | |
* @param {?} _relatedTarget | |
* @param {?} value | |
* @return {undefined} | |
*/ | |
self.show = function(_relatedTarget, value) { | |
var focus = bind(function() { | |
this.Ja = _relatedTarget; | |
this.pb.Qs(_relatedTarget); | |
value.append(this.ea); | |
this.ea.show(); | |
finish(bind(function() { | |
if (this.of) { | |
if (!this.Rg) { | |
this.ea.g("visible"); | |
this.pb.Ps(_relatedTarget); | |
} | |
} | |
}, this)); | |
this.yj = equals(bind(this.We, this), bind(this.Je, this)); | |
/** @type {boolean} */ | |
this.of = true; | |
}, this); | |
if (this.Rg) { | |
/** @type {boolean} */ | |
this.Rg = false; | |
focus(); | |
} else { | |
if (this.of) { | |
this.ua(focus); | |
} else { | |
focus(); | |
} | |
} | |
}; | |
/** | |
* @param {?} xhr | |
* @param {?} i | |
* @return {undefined} | |
*/ | |
var fix_xhr = function(xhr, i) { | |
xhr.Ja = i; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.i = function() { | |
return this.ea; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Jb = function() { | |
return this.of && !this.Rg; | |
}; | |
/** | |
* @param {?} focus | |
* @return {undefined} | |
*/ | |
self.ua = function(focus) { | |
if (this.of) { | |
if (!this.Rg) { | |
this.Rm(false, focus); | |
} | |
} | |
}; | |
/** | |
* @param {boolean} recurring | |
* @param {?} listener | |
* @return {undefined} | |
*/ | |
self.Rm = function(recurring, listener) { | |
var visible = this.ea.j("visible"); | |
if (!this.Rg) { | |
/** @type {boolean} */ | |
this.Rg = true; | |
$timeout(this.yj); | |
delete this.yj; | |
this.ea.k("visible"); | |
this.pb.Oo(); | |
} | |
var mousemove = bind(function() { | |
if (this.Rg) { | |
this.ea.ua(); | |
this.pb.No(); | |
/** @type {boolean} */ | |
this.Rg = this.of = false; | |
if (listener) { | |
listener(); | |
} | |
} | |
}, this); | |
if (!recurring && visible) { | |
off(this.ea, mousemove); | |
} else { | |
mousemove(); | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.cl = function() { | |
return this.qq; | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.We = function() { | |
if (!this.Ja.Jb()) { | |
return{ | |
ua : true | |
}; | |
} | |
var pos = this.Ja.ga(); | |
if (0 == pos.width && 0 == pos.height) { | |
return{ | |
ua : true | |
}; | |
} | |
var $window = this.ea.parent(); | |
var bounds = $window.ga(); | |
var params = this.pb.ef(); | |
var offset = this.ea.ga(); | |
/** @type {number} */ | |
var height = offset.height - 0.75 * this.ea.borderBottom(); | |
var x = pos.left + pos.width / 2; | |
/** @type {number} */ | |
var optgroup = this.Fs.width() / 2; | |
if (this.tj.xu) { | |
/** @type {number} */ | |
var y = Math.round((offset.width - this.hk.width()) / 2); | |
/** @type {number} */ | |
x = x - (y + optgroup + 10); | |
/** @type {number} */ | |
optgroup = y + 10; | |
} else { | |
/** @type {number} */ | |
y = Math.round(offset.width / 2); | |
x -= y; | |
/** @type {number} */ | |
optgroup = Math.round(y - optgroup); | |
} | |
if (this.ea.j("dark")) { | |
optgroup += this.ea.paddingLeft(); | |
} | |
if (x < bounds.left) { | |
optgroup += x - bounds.left; | |
x = bounds.left; | |
} else { | |
if (x + offset.width > bounds.right) { | |
optgroup += x - (bounds.right - offset.width); | |
/** @type {number} */ | |
x = bounds.right - offset.width; | |
} | |
} | |
/** @type {boolean} */ | |
y = false; | |
if (this.tj.ev) { | |
if (pos.bottom + height > params.bf) { | |
/** @type {number} */ | |
pos = pos.top - offset.height; | |
/** @type {boolean} */ | |
y = true; | |
} else { | |
pos = pos.bottom; | |
} | |
} else { | |
if (pos.top - height < params.bd) { | |
pos = pos.bottom; | |
} else { | |
/** @type {number} */ | |
pos = pos.top - offset.height; | |
/** @type {boolean} */ | |
y = true; | |
} | |
} | |
return{ | |
top : Math.round(pos + $window.scrollTop() - bounds.top), | |
cl : y, | |
left : Math.round(x - bounds.left), | |
Fx : Math.round(optgroup) | |
}; | |
}; | |
/** | |
* @param {Object} res | |
* @return {undefined} | |
*/ | |
self.Je = function(res) { | |
if (res.ua) { | |
this.ua(); | |
} else { | |
addClass(val(setSize(this.ea, res.left), res.top), "bottom", res.cl); | |
setSize(this.Fs, res.Fx); | |
if (this.qq != res.cl) { | |
this.qq = res.cl; | |
this.pb.Os(); | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var two = function() { | |
}; | |
self = two.prototype; | |
/** @type {function (): ?} */ | |
self.ef = tmp; | |
/** | |
* @return {undefined} | |
*/ | |
self.Qs = function() { | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Ps = function() { | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Oo = function() { | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.No = function() { | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Os = function() { | |
}; | |
/** | |
* @param {Node} options | |
* @return {undefined} | |
*/ | |
var View = function(options) { | |
/** @type {Node} */ | |
this.ea = options; | |
}; | |
/** | |
* @return {?} | |
*/ | |
View.prototype.Jb = function() { | |
return getElementById(this.ea); | |
}; | |
/** | |
* @return {?} | |
*/ | |
View.prototype.ga = function() { | |
var prim; | |
if (!_isSafari && (getComputedStyle(this.ea) && this.ea.get().getClientRects())) { | |
var codeSegments = this.ea.get().getClientRects(); | |
/** @type {number} */ | |
var computed = 0; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var rect = codeSegments[i]; | |
/** @type {number} */ | |
rect.width = rect.right - rect.left; | |
/** @type {number} */ | |
rect.height = rect.bottom - rect.top; | |
/** @type {number} */ | |
var current = rect.width * rect.height; | |
if (current > computed) { | |
prim = rect; | |
/** @type {number} */ | |
computed = current; | |
} | |
} | |
} | |
if (!prim) { | |
prim = this.ea.ga(); | |
} | |
return prim; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var ctorB = function() { | |
}; | |
/** | |
* @return {?} | |
*/ | |
ctorB.prototype.Jb = function() { | |
/** @type {(Selection|null)} */ | |
var sel = window.getSelection(); | |
return Boolean(sel && 0 < sel.rangeCount); | |
}; | |
/** | |
* @return {?} | |
*/ | |
ctorB.prototype.ga = function() { | |
/** @type {(Selection|null)} */ | |
var selection = window.getSelection(); | |
/** @type {null} */ | |
var ret = null; | |
if (selection.rangeCount) { | |
/** @type {(ClientRectList|null)} */ | |
var resultItems = selection.getRangeAt(0).getClientRects(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < resultItems.length;i++) { | |
var result = resultItems[i]; | |
if (0 < result.width || selection.isCollapsed) { | |
ret = result; | |
break; | |
} | |
} | |
} | |
if (!this.Jb() || null == ret) { | |
return{ | |
top : 0, | |
right : 0, | |
bottom : 0, | |
left : 0, | |
width : 0, | |
height : 0 | |
}; | |
} | |
/** @type {number} */ | |
ret.width = ret.right - ret.left; | |
/** @type {number} */ | |
ret.height = ret.bottom - ret.top; | |
return ret; | |
}; | |
/** | |
* @param {Object} container | |
* @param {Object} value | |
* @param {HTMLElement} option | |
* @return {undefined} | |
*/ | |
var createOption = function(container, value, option) { | |
setHtml(container.j("dialog")); | |
if (container.j("active")) { | |
close(); | |
} else { | |
if (container.ar) { | |
if (!jQuery(".dialog.active").empty()) { | |
jQuery(".dialog.active").g("secondary"); | |
} | |
} else { | |
if (close(), !jQuery(".dialog.active").empty()) { | |
return; | |
} | |
} | |
var methodName = container.data("dialog-customize"); | |
if (!methodName || obj["dialog-customize"][methodName].call(value, null)) { | |
container.g("visible"); | |
var result; | |
if (value && !value.empty() || option) { | |
result = new klass([]); | |
position(container, value, option); | |
} else { | |
result = jQuery(".dialog-background"); | |
if (result.empty()) { | |
result = createElement("div", "dialog-background").setData("click", "dialog-background"); | |
item.append(result); | |
} | |
container.find(".arrow").remove(); | |
setStyle(container.g("modal").k("left").k("top"), { | |
marginLeft : -Math.round(container.width() / 2) + "px", | |
marginTop : -Math.round(container.height() / 2) + "px" | |
}); | |
} | |
result.g("visible"); | |
finish(function() { | |
container.g("active"); | |
result.g("active"); | |
selectText(container); | |
}); | |
} | |
} | |
}; | |
/** | |
* @param {Object} el | |
* @return {undefined} | |
*/ | |
var selectText = function(el) { | |
var sel = el.data("dialog-focus"); | |
if (sel) { | |
if (el = jQuery(sel), write(el, "input") || (write(el, "textarea") || !el.empty() && el.get().isContentEditable)) { | |
jQuery(sel).focus(); | |
} else { | |
if (!trim(el).empty()) { | |
/** @type {(Selection|null)} */ | |
sel = window.getSelection(); | |
/** @type {(Range|null)} */ | |
var r2 = document.createRange(); | |
r2.selectNodeContents(el.get()); | |
sel.removeAllRanges(); | |
sel.addRange(r2); | |
} | |
} | |
} | |
}; | |
/** | |
* @param {Object} $this | |
* @param {number} p | |
* @param {Object} pos | |
* @param {Object} obj | |
* @return {undefined} | |
*/ | |
var position = function($this, p, pos, obj) { | |
var position = $this.width(); | |
var bottom = $this.height(); | |
css(css($this.k("modal"), "marginLeft"), "marginTop"); | |
var body = $this.find(".arrow"); | |
if (body.empty()) { | |
if (!obj) { | |
body = createElement("div", "arrow"); | |
$this.append(body); | |
} | |
} | |
if (!pos) { | |
obj = p.ga(); | |
/** @type {boolean} */ | |
var width = obj.top < bottom - obj.bottom; | |
pos = { | |
top : obj.bottom + bottom < window.innerHeight || width ? obj.bottom : obj.top, | |
left : Math.round(obj.left + obj.width / 2), | |
bottom : void 0 | |
}; | |
} | |
$this.setData("position-top", pos.top); | |
$this.setData("position-left", pos.left); | |
obj = $this.parent(); | |
for (;!obj.empty() && "visible" == obj.style("overflow");) { | |
obj = obj.parent(); | |
} | |
obj = obj.empty() || obj.get() == document.body ? { | |
top : 0, | |
left : 0, | |
bottom : window.innerHeight, | |
right : window.innerWidth, | |
width : window.innerWidth, | |
height : window.innerHeight | |
} : obj.ga(); | |
/** @type {number} */ | |
width = pos.left - Math.round(position / 2); | |
/** @type {number} */ | |
var top = $this.j("context-menu") ? 0 : -5; | |
/** @type {number} */ | |
width = Math.max(width, obj.left + top); | |
/** @type {number} */ | |
width = Math.min(width, obj.right - top - position); | |
top = pos.top; | |
/** @type {number} */ | |
var recurring = obj.bottom - top; | |
/** @type {number} */ | |
var udataCur = obj.right - width - position; | |
/** @type {number} */ | |
var vh = obj.bottom - (top + bottom); | |
/** @type {number} */ | |
bottom = top - bottom - obj.top; | |
if (bottom = !exec(pos.bottom) && 0 < vh ? false : 0 < bottom ? true : bottom > vh) { | |
$this.g("bottom"); | |
$this.setData("position-bottom", 1); | |
} else { | |
$this.k("bottom"); | |
$this.setData("position-bottom", 0); | |
if (p) { | |
if (!p.parent("nav").empty()) { | |
top -= 7; | |
$this.setData("position-top", pos.top - 7); | |
} | |
} | |
} | |
/** @type {number} */ | |
p = pos.left - width - $this.borderLeft() - Math.round(body.width() / 2); | |
/** @type {number} */ | |
p = Math.max(p, -9); | |
/** @type {number} */ | |
p = Math.min(p, position - $this.borderLeft() - $this.borderRight() - 7); | |
setSize(body, p); | |
if ($this.get().offsetParent) { | |
p = jQuery($this.get().offsetParent); | |
position = p.get() == document.body ? obj : p.ga(); | |
body = p.scrollLeft(); | |
p = p.scrollTop(); | |
width += body - position.left; | |
top += p - position.top; | |
recurring += position.bottom - obj.bottom - p; | |
udataCur += position.right - obj.right - body; | |
} | |
if (bottom) { | |
runCallbacks($this, recurring).ja("top", "auto"); | |
} else { | |
val($this, top).ja("bottom", "auto"); | |
} | |
if (udataCur < width) { | |
getDimensions($this, udataCur).ja("left", "auto"); | |
} else { | |
setSize($this, width).ja("right", "auto"); | |
} | |
}; | |
/** | |
* @param {Object} e | |
* @param {?} el | |
* @param {Object} opt_attributes | |
* @param {boolean} isSorted | |
* @return {undefined} | |
*/ | |
var unique = function(e, el, opt_attributes, isSorted) { | |
position(e, el, opt_attributes, isSorted); | |
finish(function() { | |
e.g("active"); | |
}); | |
}; | |
/** | |
* @param {boolean} dataAndEvents | |
* @return {undefined} | |
*/ | |
var addPlaceholder = function(dataAndEvents) { | |
expect(dataAndEvents ? jQuery(".context-menu.submenu.active") : jQuery(".context-menu:not(.submenu).active"), function() { | |
var self = jQuery(this); | |
self.k("active"); | |
var methodName = self.data("context-menu-cleanup"); | |
if (methodName) { | |
obj["context-menu-cleanup"][methodName].call(self, null); | |
} | |
}); | |
}; | |
/** | |
* @param {?} instance | |
* @return {undefined} | |
*/ | |
var is = function(instance) { | |
instance.j("dialog"); | |
jQuery("#app").append(instance.g("custom")); | |
reset(instance); | |
}; | |
/** | |
* @param {Object} item | |
* @return {undefined} | |
*/ | |
var reset = function(item) { | |
var container = jQuery(".dialog.active"); | |
if (container.empty() || container.j("modal")) { | |
createOption(item); | |
} else { | |
var child = jQuery(".settings-dialog-active"); | |
createOption(item, null, { | |
top : assertEquals(container, "position-top"), | |
left : assertEquals(container, "position-left"), | |
bottom : assertEquals(container, "position-bottom") | |
}); | |
if (!child.empty()) { | |
if (!item.data("dialog-cleanup")) { | |
item.setData("dialog-cleanup", "settings-dialog"); | |
child.g("settings-dialog-active"); | |
} | |
} | |
} | |
}; | |
/** @type {null} */ | |
var count = null; | |
/** | |
* @param {?} data | |
* @return {?} | |
*/ | |
var draw = function(data) { | |
var d = createElement("div", "dialog custom").setData("dialog-cleanup", "dialog-custom"); | |
if (data.xh) { | |
d.setData("dialog-cancel-label", data.xh); | |
} | |
if (data.cy) { | |
d.g(data.cy); | |
} | |
if (data.title) { | |
d.append(createElement("h1").ca(data.title)); | |
} | |
var a = createElement("div", "body"); | |
if (data.message) { | |
var node = createElement("section", "message"); | |
a.append(node); | |
if (data.message instanceof klass) { | |
node.append(data.message); | |
} else { | |
node.ca(data.message); | |
} | |
} | |
if (data.ae) { | |
if (data.Xj) { | |
a.append(createElement("label").ca(data.Xj)); | |
} | |
var value; | |
if (data.jw) { | |
value = createElement("textarea").setAttribute("rows", data.jw); | |
/** @type {string} */ | |
node = ".dialog.active textarea[rows]"; | |
} else { | |
value = createElement("input").setAttribute("type", "text"); | |
/** @type {string} */ | |
node = ".dialog.active input[type=text]"; | |
} | |
value.g("dialogInput"); | |
a.append(createElement("section", "button-list").append(value)); | |
d.setData("dialog-focus", node); | |
} | |
if (data.message || (data.title || data.ae)) { | |
node = createElement("section", "button-list"); | |
if (!data.title) { | |
if (1 == data.buttons.length) { | |
node.g("button-solo"); | |
} else { | |
if (2 == data.buttons.length) { | |
node.g("button-pair"); | |
} | |
} | |
} | |
a.append(node); | |
} else { | |
node = a.g("button-list"); | |
} | |
/** @type {number} */ | |
var k = 0; | |
for (;k < data.buttons.length;k++) { | |
var display = createElement("button"); | |
display.ca(data.buttons[k]).setData("click", "dialog-custom").setData("dialog-label", data.Ke[k]); | |
node.append(display); | |
} | |
if (data.ar) { | |
/** @type {boolean} */ | |
d.ar = true; | |
} | |
d.append(a); | |
item.append(d); | |
createOption(d); | |
if (data.ae) { | |
if (data.Zn) { | |
value.af(data.Zn); | |
/** @type {number} */ | |
value.get().selectionStart = 0; | |
value.get().selectionEnd = value.value().length; | |
} | |
} | |
count = data.ee; | |
return d; | |
}; | |
/** | |
* @param {?} context | |
* @return {undefined} | |
*/ | |
var close = function(context) { | |
context = context || jQuery(".dialog.active"); | |
expect(context, function() { | |
var object = jQuery(this); | |
if (object.j("editing")) { | |
var methodName = object.find("[data-click='dialog-edit']"); | |
obj.click["dialog-edit"].call(methodName, null); | |
} | |
methodName = object.data("dialog-cleanup"); | |
if (!methodName || obj["dialog-cleanup"][methodName].call(object, null)) { | |
object.k("active"); | |
push(function() { | |
if (object.j("custom")) { | |
object.remove(); | |
} else { | |
if (!object.j("active")) { | |
css(css(css(object, "left"), "top"), "bottom").k("visible"); | |
} | |
} | |
}, 500); | |
} | |
}); | |
if (jQuery(".dialog.active:not(.annotation-tab)").empty()) { | |
if (!jQuery(".dialog-background").k("active").empty()) { | |
push(function() { | |
var me = jQuery(".dialog-background"); | |
if (!me.j("active")) { | |
me.remove(); | |
} | |
}, 500); | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var standard = function() { | |
var j = jQuery(".dialog.active"); | |
if (j.j("inviting")) { | |
j.k("inviting"); | |
var descendant = j.find(".search input").k("glyph-email"); | |
j.find(".search-results").removeAttribute("data-search-filter"); | |
if (j.j("thread-sharing")) { | |
descendant.setAttribute("data-search-types", "people,folders,addresses"); | |
jQuery(".thread-members").show(); | |
} else { | |
jQuery(".folder-members,.folder-members-promo").show(); | |
descendant.setAttribute("data-search-types", "people,addresses"); | |
} | |
jQuery(".sharing-invite").show(); | |
} | |
}; | |
$("click", "dialog-background", function() { | |
close(); | |
return false; | |
}); | |
$("click", "dialog-custom", function() { | |
var instance = this.data("dialog-label"); | |
if (instance) { | |
var node = jQuery(".dialog.active.custom"); | |
node.setData("dialog-label", instance); | |
close(node); | |
} | |
return false; | |
}); | |
$("dialog-cleanup", "dialog-custom", function() { | |
if (count) { | |
var j = count; | |
/** @type {null} */ | |
count = null; | |
j({ | |
wd : this.data("dialog-label") || this.data("dialog-cancel-label"), | |
ae : this.find(".dialogInput").value() | |
}); | |
} | |
return true; | |
}); | |
$("click", "dialog", function() { | |
var container = this.data("anchor"); | |
/** @type {null} */ | |
var udataCur = null; | |
var positioning = void 0; | |
if (container && "parent" == container) { | |
container = jQuery(".dialog.active"); | |
if (!container.empty()) { | |
if (!container.j("modal")) { | |
positioning = { | |
top : assertEquals(container, "position-top"), | |
left : assertEquals(container, "position-left"), | |
bottom : assertEquals(container, "position-bottom") | |
}; | |
} | |
} | |
} else { | |
udataCur = container ? jQuery(container) : this; | |
} | |
container = jQuery(".dialog." + this.data("dialog")); | |
container.empty(); | |
createOption(container, udataCur, positioning); | |
return false; | |
}); | |
$("click", "dialog-close", function() { | |
close(); | |
return false; | |
}); | |
$("click", "dialog-edit", function() { | |
var el = this.parent(".dialog"); | |
var self = el.find(".search input"); | |
if (el.j("inviting")) { | |
return self.empty() || obj.keydown[self.data("keydown")].call(self, { | |
keyCode : 13 | |
}), standard(), false; | |
} | |
removeAttr(el, "editing"); | |
if (!self.empty()) { | |
if (el.j("editing")) { | |
obj.input[self.data("input")].call(self.clear().disable(), null); | |
} else { | |
self.enable(); | |
} | |
} | |
return false; | |
}); | |
/** | |
* @param {number} ascend | |
* @param {?} x | |
* @return {undefined} | |
*/ | |
var closest = function(ascend, x) { | |
/** @type {number} */ | |
this.xw = ascend; | |
this.Ja = x; | |
if ($$().contains(x)) { | |
/** @type {number} */ | |
this.Xa = 0; | |
} else { | |
if (x.parent(".chat-tab").empty()) { | |
if (x.parent(".annotation-tab").empty()) { | |
if (x.parent(".messages").empty()) { | |
if (x.parent(".desktop").empty()) { | |
if (x.parent(".signal").empty()) { | |
console.warn("Hovercard shown in unexpected context."); | |
/** @type {number} */ | |
this.Xa = 6; | |
} else { | |
/** @type {number} */ | |
this.Xa = 5; | |
} | |
} else { | |
/** @type {number} */ | |
this.Xa = 4; | |
} | |
} else { | |
/** @type {number} */ | |
this.Xa = 3; | |
} | |
} else { | |
/** @type {number} */ | |
this.Xa = 2; | |
} | |
} else { | |
/** @type {number} */ | |
this.Xa = 1; | |
} | |
} | |
/** @type {boolean} */ | |
this.kl = this.Il = this.Yf = false; | |
}; | |
inherits(closest, two); | |
self = closest.prototype; | |
/** | |
* @return {?} | |
*/ | |
self.ef = function() { | |
if (0 == this.Xa) { | |
return element.ef(); | |
} | |
var paddingBox = this.Ta.i().parent().ga(); | |
return{ | |
bd : paddingBox.top, | |
bf : paddingBox.bottom | |
}; | |
}; | |
/** | |
* @param {?} data | |
* @return {undefined} | |
*/ | |
var parseAttributes = function(data) { | |
isWhitespace(data); | |
atob(data); | |
if (!(data.Ta && data.Ta.Jb())) { | |
search(data); | |
if (!exec(data.Hl)) { | |
data.Hl = push(bind(function() { | |
delete this.Hl; | |
if (this.Ta) { | |
this.ih(); | |
} else { | |
/** @type {boolean} */ | |
this.Il = true; | |
} | |
}, data), 500); | |
} | |
} | |
}; | |
/** | |
* @param {?} b | |
* @return {undefined} | |
*/ | |
var isEqual = function(b) { | |
if (!exec(b.Uk)) { | |
b.Uk = push(bind(function() { | |
delete this.Uk; | |
this.Rm(); | |
}, b), 500); | |
} | |
}; | |
/** | |
* @param {?} string | |
* @return {undefined} | |
*/ | |
var isWhitespace = function(string) { | |
if (exec(string.Uk)) { | |
protectedClearTimeout(string.Uk); | |
delete string.Uk; | |
} | |
}; | |
/** | |
* @param {?} data | |
* @return {undefined} | |
*/ | |
var search = function(data) { | |
if (!onCompletion()) { | |
if (!data.Ta) { | |
if (!data.Yf) { | |
/** @type {boolean} */ | |
data.Yf = true; | |
next("/-/hovercard", { | |
user_id : data.xw | |
}, bind(function(data) { | |
/** @type {boolean} */ | |
this.Yf = false; | |
data = get(data.html); | |
successCallback(data); | |
this.Ta = new build_gameboard("hovercard", data, this); | |
this.Ta.i().setData("mouseover", "hovercard-card").setData("mouseout", "hovercard-card"); | |
data = this.Ta.i(); | |
vals[pred(data)] = this; | |
if (this.Il) { | |
this.ih(); | |
/** @type {boolean} */ | |
this.Il = false; | |
} | |
}, data), bind(function() { | |
/** @type {boolean} */ | |
this.Yf = false; | |
return true; | |
}, data)); | |
} | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.ih = function() { | |
var targetObj = item; | |
switch(this.Xa) { | |
case 0: | |
targetObj = $$(); | |
break; | |
case 3: | |
targetObj = this.Ja.parent(".messages"); | |
break; | |
case 4: | |
targetObj = jQuery(".desktop > .body"); | |
} | |
this.Ta.show(new View(this.Ja), targetObj); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Rm = function() { | |
this.Ta.ua(); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Oo = function() { | |
writeByte(this); | |
}; | |
/** | |
* @param {?} obj | |
* @return {undefined} | |
*/ | |
var bindAll = function(obj) { | |
hasKey(result, obj.xw, bind(function() { | |
if (this.kl) { | |
/** @type {boolean} */ | |
this.kl = false; | |
isEqual(this); | |
} | |
}, obj)); | |
}; | |
/** | |
* @param {?} b | |
* @return {undefined} | |
*/ | |
var writeByte = function(b) { | |
atob(b); | |
b.Jp = push(bind(b.Cy, b), 6E4); | |
}; | |
/** | |
* @param {?} input | |
* @return {undefined} | |
*/ | |
var atob = function(input) { | |
protectedClearTimeout(input.Jp); | |
delete input.Jp; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Cy = function() { | |
delete this.Jp; | |
if (this.Ta) { | |
this.Ta.Jb(); | |
this.Ta.i().remove(); | |
} | |
var key; | |
for (key in vals) { | |
if (vals[key] == this) { | |
delete vals[key]; | |
} | |
} | |
for (key in $cookies) { | |
if ($cookies[key] == this) { | |
delete $cookies[key]; | |
} | |
} | |
}; | |
var vals = {}; | |
var $cookies = {}; | |
/** | |
* @param {Event} node | |
* @param {boolean} dataAndEvents | |
* @return {?} | |
*/ | |
var renderRow = function(node, dataAndEvents) { | |
var name = node.data("id"); | |
/** @type {string} */ | |
var key = name + "-" + pred(node); | |
var value = $cookies[key]; | |
if (!value) { | |
if (dataAndEvents) { | |
value = new closest(name, node); | |
$cookies[key] = value; | |
} | |
} | |
return value; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var inputsToList = function() { | |
/** | |
* @param {Function} fn | |
* @return {?} | |
*/ | |
function isNotBubbling(fn) { | |
return function(option) { | |
if (!((option = option.relatedTarget) && (option == this.get() || this.contains(jQuery(option))))) { | |
fn.call(this); | |
} | |
return true; | |
}; | |
} | |
$("mouseover", "hovercard", isNotBubbling(function() { | |
if (this.data("id")) { | |
this.setData("mouseout", "hovercard"); | |
parseAttributes(renderRow(this, true)); | |
} | |
})); | |
$("mouseout", "hovercard", isNotBubbling(function() { | |
var oldconfig = renderRow(this); | |
if (oldconfig) { | |
if (exec(oldconfig.Hl)) { | |
protectedClearTimeout(oldconfig.Hl); | |
delete oldconfig.Hl; | |
writeByte(oldconfig); | |
} else { | |
if (oldconfig.Il) { | |
/** @type {boolean} */ | |
oldconfig.Il = false; | |
} | |
} | |
if (oldconfig.Ta) { | |
if (oldconfig.Ta.Jb()) { | |
if (!oldconfig.kl) { | |
isEqual(oldconfig); | |
} | |
} | |
} | |
} | |
})); | |
$("mouseover", "hovercard-card", isNotBubbling(function() { | |
var val = vals[pred(this)]; | |
/** @type {boolean} */ | |
val.kl = true; | |
isWhitespace(val); | |
})); | |
$("mouseout", "hovercard-card", isNotBubbling(function() { | |
var oldconfig = vals[pred(this)]; | |
/** @type {boolean} */ | |
oldconfig.kl = false; | |
isEqual(oldconfig); | |
})); | |
$("click", "hovercard-toggle-info", function(e) { | |
if ("A" == e.target.nodeName) { | |
return true; | |
} | |
if (this.j("expanded")) { | |
css(this.k("expanded"), "height"); | |
} else { | |
this.g("expanded").Sa(this.get().scrollHeight); | |
} | |
return false; | |
}); | |
$("click", "hovercard-chat-tab", function() { | |
var node; | |
node = this.parent(".hovercard"); | |
node = vals[pred(node)]; | |
bindAll(node); | |
return false; | |
}); | |
}; | |
attempt(function() { | |
if (!isMobile) { | |
inputsToList(); | |
} | |
}); | |
var gp; | |
/** | |
* @param {?} other | |
* @param {?} mat0 | |
* @return {?} | |
*/ | |
var equals = function(other, mat0) { | |
if (inParens) { | |
return-1; | |
} | |
/** @type {number} */ | |
var id = rightId++; | |
modules[id] = { | |
Iu : other, | |
apply : mat0, | |
oj : null | |
}; | |
whitespace.push(id); | |
if (1 == whitespace.length) { | |
fold(rest); | |
} | |
padCount++; | |
if (1 == padCount) { | |
observer(); | |
} | |
return id; | |
}; | |
/** | |
* @param {?} i | |
* @return {undefined} | |
*/ | |
var $timeout = function(i) { | |
if (i in modules && (delete modules[i], whitespace.length && removeAll(whitespace, i), padCount--, 0 == padCount && (dateDefined && timeDefined))) { | |
mo.disconnect(); | |
/** @type {number} */ | |
i = 0; | |
for (;i < attrList.length;i++) { | |
removeListener(attrList[i]); | |
} | |
/** @type {Array} */ | |
attrList = []; | |
/** @type {boolean} */ | |
timeDefined = false; | |
} | |
}; | |
/** | |
* @param {Function} module | |
* @return {undefined} | |
*/ | |
var isCanvas = function(module) { | |
if (!inParens && (module = modules[module])) { | |
/** @type {boolean} */ | |
gp = true; | |
var x = module.Iu(); | |
if (!(x === nil)) { | |
if (!(module.oj && isObject(module.oj, x))) { | |
module.oj = x; | |
module.apply(x); | |
} | |
} | |
/** @type {boolean} */ | |
gp = false; | |
} | |
}; | |
/** @type {boolean} */ | |
var inParens = false; | |
var nil = { | |
eI : true | |
}; | |
var modules = {}; | |
/** @type {number} */ | |
var padCount = 0; | |
/** @type {number} */ | |
var rightId = 0; | |
/** @type {Array} */ | |
var whitespace = []; | |
/** @type {boolean} */ | |
var dateDefined = Boolean(window.MutationObserver || window.WebKitMutationObserver); | |
/** @type {null} */ | |
var mo = null; | |
/** @type {boolean} */ | |
var up = false; | |
/** @type {boolean} */ | |
var timeDefined = false; | |
/** @type {Array} */ | |
var resultItems = ["resize", "scroll", "transitionend"]; | |
/** @type {Array} */ | |
var attrList = []; | |
/** | |
* @param {(Array|string)} args | |
* @return {undefined} | |
*/ | |
var _flatten = function(args) { | |
if (!inParens) { | |
/** @type {boolean} */ | |
gp = true; | |
var codeSegments; | |
/** @type {number} */ | |
var i = 0; | |
if (args) { | |
/** @type {Array} */ | |
codeSegments = Array(args.length); | |
/** @type {number} */ | |
i = 0; | |
for (;i < args.length;i++) { | |
codeSegments[i] = modules[args[i]]; | |
} | |
} else { | |
/** @type {Array} */ | |
codeSegments = Array(padCount); | |
var module; | |
for (module in modules) { | |
codeSegments[i++] = modules[module]; | |
} | |
} | |
/** @type {Array} */ | |
args = Array(codeSegments.length); | |
/** @type {number} */ | |
i = 0; | |
for (;i < codeSegments.length;i++) { | |
args[i] = codeSegments[i].Iu(); | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < codeSegments.length;i++) { | |
module = codeSegments[i]; | |
var x = args[i]; | |
if (!(x === nil)) { | |
if (!(module.oj && isObject(module.oj, x))) { | |
module.oj = x; | |
module.apply(x); | |
} | |
} | |
} | |
if (padCount) { | |
if (!dateDefined) { | |
synchronize(function() { | |
_flatten(); | |
}); | |
} | |
} | |
/** @type {boolean} */ | |
gp = false; | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var rest = function() { | |
if (whitespace.length) { | |
var typePattern = whitespace; | |
/** @type {Array} */ | |
whitespace = []; | |
_flatten(typePattern); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var observer = function() { | |
if (!dateDefined) { | |
synchronize(function() { | |
_flatten(); | |
}); | |
} else { | |
if (!timeDefined) { | |
if (!mo) { | |
/** @type {MutationObserver} */ | |
mo = new (window.MutationObserver || window.WebKitMutationObserver)(paths); | |
} | |
mo.observe(document.body, { | |
childList : true, | |
attributes : true, | |
characterData : true, | |
subtree : true | |
}); | |
/** @type {Array} */ | |
attrList = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < resultItems.length;i++) { | |
attrList.push(addEvent(window, resultItems[i], paths)); | |
} | |
/** @type {boolean} */ | |
timeDefined = true; | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var paths = function() { | |
if (!gp) { | |
if (!up) { | |
/** @type {boolean} */ | |
up = true; | |
synchronize(function() { | |
/** @type {boolean} */ | |
up = false; | |
_flatten(); | |
}); | |
} | |
} | |
}; | |
var items = {}; | |
var valueToItem = {}; | |
var headers = {}; | |
/** | |
* @param {Object} target | |
* @return {?} | |
*/ | |
var deepMatches = function(target) { | |
return "True" == target.active && parseInt(target.now, 10) > now() - 2E4; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var li = function() { | |
var obj = {}; | |
var key; | |
for (key in items) { | |
var res = {}; | |
/** @type {boolean} */ | |
var d = false; | |
var i; | |
for (i in items[key]) { | |
var val = items[key][i]; | |
if (!(parseInt(val.now, 10) < now() - 6E4)) { | |
res[i] = val; | |
/** @type {boolean} */ | |
d = true; | |
} | |
} | |
if (d) { | |
obj[key] = res; | |
} | |
} | |
items = obj; | |
}; | |
/** | |
* @param {?} key | |
* @return {?} | |
*/ | |
var cache = function(key) { | |
if (data.ka && data.ka.id == key) { | |
return $broadcast(3E5); | |
} | |
if (!(key in items)) { | |
return false; | |
} | |
var i; | |
for (i in items[key]) { | |
if (deepMatches(items[key][i])) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var detachEvent = function() { | |
/** @type {number} */ | |
var result = 0; | |
var openName = data.ka && data.ka.id; | |
var name; | |
for (name in items) { | |
if (name != openName) { | |
var i; | |
for (i in items[name]) { | |
if (deepMatches(items[name][i])) { | |
result++; | |
break; | |
} | |
} | |
} | |
} | |
return result; | |
}; | |
/** | |
* @param {?} result | |
* @return {?} | |
*/ | |
var successCallback = function(result) { | |
win(result); | |
var name; | |
for (name in items) { | |
if (!(name in data.pk) || data.Ed.Xg && !(name in seen)) { | |
var curValue = data.Ka(name); | |
if (curValue && (!data.ka || name != data.ka.id)) { | |
/** @type {boolean} */ | |
var d = false; | |
var i; | |
for (i in items[name]) { | |
if (deepMatches(items[name][i])) { | |
/** @type {boolean} */ | |
d = true; | |
break; | |
} | |
} | |
if (d) { | |
if (!(name in data.pk)) { | |
click(data, curValue, "open-chat-thread", jQuery(".contacts-list")); | |
} | |
if (!!data.Ed.Xg) { | |
if (!(name in seen)) { | |
effect(curValue); | |
} | |
} | |
} | |
} | |
} | |
} | |
if (result) { | |
defaultDisableHandler(result); | |
bindBlockClick(result); | |
} else { | |
register(); | |
disable(); | |
} | |
return result; | |
}; | |
var hasVirtualBindings = callLater(successCallback, 250); | |
/** | |
* @param {?} collection | |
* @param {boolean} dataAndEvents | |
* @return {undefined} | |
*/ | |
var win = function(collection, dataAndEvents) { | |
var length = collection ? collection.find(".presence") : jQuery(".presence"); | |
var me = jQuery(".contacts"); | |
var adown = me.get(); | |
dataAndEvents = dataAndEvents || me.j("active"); | |
expect(length, function() { | |
if (dataAndEvents || (!adown || !adown.contains(this))) { | |
var result = new klass([this]); | |
if (cache(result.data("id"))) { | |
if (!result.j("active")) { | |
result.g("active"); | |
} | |
} else { | |
if (result.j("active")) { | |
result.k("active"); | |
} | |
} | |
} | |
}); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var register = function() { | |
/** | |
* @param {string} keepData | |
* @return {?} | |
*/ | |
function find(keepData) { | |
return jQuery('.thumbnail .thumbnail-participant-list[data-id="' + keepData + '"]'); | |
} | |
var map = {}; | |
expect(jQuery(".thumbnail-participant"), function() { | |
var c = jQuery(this); | |
var option = c.data("user-id"); | |
var file = c.data("session-id"); | |
c = c.parent(".thumbnail-participant-list").data("id"); | |
if (!(c in map)) { | |
/** @type {Array} */ | |
map[c] = []; | |
} | |
map[c].push([option, file]); | |
}); | |
/** @type {Array} */ | |
var ready = []; | |
var item; | |
for (item in items) { | |
ready.push(item); | |
} | |
groupBy(data, ready); | |
var obj = {}; | |
/** @type {number} */ | |
var p = 0; | |
for (;p < ready.length;p++) { | |
item = ready[p]; | |
var timeMap = {}; | |
var k; | |
for (k in items[item]) { | |
var c = items[item][k]; | |
if ("document-mode" == c.mode || "thread-mode" == c.mode) { | |
if (deepMatches(c) || "True" == c.active2 && parseInt(c.now, 10) > now() - 2E4) { | |
/** @type {Array} */ | |
var list = [c.doc_id]; | |
if (c.folder_union && "" != c.folder_union) { | |
c = c.folder_union.split(","); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < c.length;i++) { | |
list.push(c[i]); | |
} | |
} | |
/** @type {number} */ | |
c = 0; | |
for (;c < list.length;c++) { | |
var name = list[c]; | |
if (!(!params.Ka(name) && !res.Ka(name))) { | |
if (!!name) { | |
if (!(name in timeMap)) { | |
if (!(name in obj)) { | |
/** @type {Array} */ | |
obj[name] = []; | |
} | |
if (!(3 <= obj[name].length)) { | |
obj[name].push([item, k]); | |
/** @type {boolean} */ | |
timeMap[name] = true; | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
headers = obj; | |
for (name in obj) { | |
var node = find(name); | |
if (!node.empty()) { | |
var b = obj[name]; | |
/** | |
* @return {undefined} | |
*/ | |
ready = function() { | |
/** @type {number} */ | |
var bi = 0; | |
for (;bi < b.length;bi++) { | |
createGrid(node, b[bi][0], b[bi][1]); | |
} | |
}; | |
if (name in map) { | |
item = map[name]; | |
delete map[name]; | |
if (!isObject(b, item)) { | |
compileNode(node); | |
ready(); | |
} | |
} else { | |
ready(); | |
} | |
} | |
} | |
for (name in map) { | |
compileNode(find(name)); | |
} | |
}; | |
/** | |
* @param {?} element | |
* @param {number} size | |
* @param {string} height | |
* @return {undefined} | |
*/ | |
var createGrid = function(element, size, height) { | |
var input = data.Ka(size); | |
if (input) { | |
var targetNode = createElement("div", "thumbnail-participant").append(isEventSupported(input, true)).setData("user-id", size).setData("session-id", height).setData("id", size + "-" + height); | |
expect(element, function(deepDataAndEvents, dataAndEvents) { | |
jQuery(this).append(0 == dataAndEvents ? targetNode : targetNode.ya()); | |
}); | |
} | |
}; | |
/** | |
* @param {?} o | |
* @return {undefined} | |
*/ | |
var compileNode = function(o) { | |
o.find(".thumbnail-participant").remove(); | |
}; | |
/** | |
* @param {Object} i | |
* @return {undefined} | |
*/ | |
var defaultDisableHandler = function(i) { | |
expect(i ? i.find(".contact-status") : jQuery(".contact-status"), function() { | |
var self = jQuery(this); | |
var a = self.data("id"); | |
a = resize(a); | |
if (self.text() != a) { | |
self.ca(a); | |
} | |
}); | |
}; | |
/** | |
* @param {Object} div | |
* @return {undefined} | |
*/ | |
var bindBlockClick = function(div) { | |
expect(div ? div.find(".contact") : jQuery(".contact"), function() { | |
var result = jQuery(this); | |
var name = result.data("id"); | |
name = inArray(data.Ka(name)); | |
if (!(name && result.j(name))) { | |
result.k("web").k("phone"); | |
if (name) { | |
result.g(name); | |
} | |
} | |
}); | |
}; | |
/** | |
* @param {number} a | |
* @return {undefined} | |
*/ | |
var disable = function(a) { | |
if (a = a || !jQuery(".contacts.active").empty()) { | |
init_internal(jQuery(".contacts-list .contact"), false); | |
} | |
defaultDisableHandler(void 0); | |
bindBlockClick(void 0); | |
if (data.Ed.Xg) { | |
init_internal(jQuery(".frequent-contacts .contact"), true); | |
init_internal(jQuery(".other-contacts .contact"), true); | |
var $this = jQuery(".chat-list .online-view .online .chat-list-section"); | |
var form = jQuery(".chat-list .online-view .offline .chat-list-section"); | |
expect($this.find(".contact"), function() { | |
var item = jQuery(this); | |
if (!item.j("active")) { | |
form.append(item); | |
} | |
}); | |
expect(form.find(".contact"), function() { | |
var item = jQuery(this); | |
if (item.j("active")) { | |
$this.append(item); | |
} | |
}); | |
init_internal($this.find(".contact"), false); | |
init_internal(form.find(".contact"), false); | |
if (start($this, ".contact")) { | |
jQuery(".chat-list .online-view .online").show(); | |
} else { | |
jQuery(".chat-list .online-view .online").ua(); | |
} | |
if (start(form, ".contact")) { | |
jQuery(".chat-list .online-view .offline").show(); | |
} else { | |
jQuery(".chat-list .online-view .offline").ua(); | |
} | |
} | |
a = detachEvent(); | |
var current = jQuery("#inbox nav .button.contacts,#inbox nav .button.chat"); | |
var params = current.find(".count"); | |
if (params.text() != a) { | |
params.ca(a); | |
addClass(addClass(current, "numbered", 0 < a), "small", 10 <= a); | |
} | |
current = jQuery(".online-count"); | |
if (current.text() != a) { | |
addClass(addClass(current.ca(a), "none", 1 > a), "small", 10 <= a); | |
} | |
addClass(jQuery(".chat-list.dialog"), "online-enabled", 0 < a); | |
}; | |
/** | |
* @param {string} results | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
var init_internal = function(results, recurring) { | |
/** | |
* @param {Object} p | |
* @param {Object} e | |
* @return {?} | |
*/ | |
function cycle(p, e) { | |
var a = r[p[type]]; | |
var b = r[e[type]]; | |
return a.ud && !b.ud ? -1 : !a.ud && b.ud ? 1 : a.mg != b.mg ? a.mg < b.mg ? 1 : -1 : a.name ? b.name ? mk_block(a.name, b.name) : -1 : 1; | |
} | |
/** | |
* @param {Object} s | |
* @param {Object} data | |
* @return {?} | |
*/ | |
function message(s, data) { | |
var a = r[s[type]]; | |
var b = r[data[type]]; | |
return a.mg != b.mg ? a.mg < b.mg ? 1 : -1 : a.ud && !b.ud ? -1 : !a.ud && b.ud || !a.name ? 1 : b.name ? mk_block(a.name, b.name) : -1; | |
} | |
/** @type {string} */ | |
var type = "contactDataIndex"; | |
/** @type {Array} */ | |
var r = Array(results.length()); | |
expect(results, function(item, name) { | |
/** @type {number} */ | |
item[type] = name; | |
var object = jQuery(item); | |
var match = object.data("id"); | |
var target = data.Ka(match); | |
r[name] = { | |
ud : object.j("active"), | |
mg : data.Vi(match), | |
name : target ? target.name.toLowerCase() : null | |
}; | |
}); | |
results.sort(recurring ? message : cycle); | |
}; | |
/** | |
* @param {string} value | |
* @return {?} | |
*/ | |
var resize = function(value) { | |
if ("null" == value) { | |
return ""; | |
} | |
/** @type {boolean} */ | |
var err = false; | |
var name; | |
for (name in items[value]) { | |
var me = items[value][name]; | |
if (deepMatches(me) && (err = true, "document-mode" == me.mode || "thread-mode" == me.mode)) { | |
var parent = params.Ka(me.doc_id); | |
if (parent) { | |
return value = parent.title, "True" == me.editing ? callback('Editing "%(title)s"', { | |
title : value | |
}) : callback('Viewing "%(title)s"', { | |
title : value | |
}); | |
} | |
} | |
} | |
if (!err) { | |
if (data.ka) { | |
if (data.ka.id == value) { | |
err = $broadcast(3E5); | |
} | |
} | |
} | |
return err ? callback("Online") : value in valueToItem && valueToItem[value].last_active ? (me = log(new Date(Math.floor(parseInt(valueToItem[value].last_active, 10) - delta)), "abbr", false), callback("Online %(ago)s", { | |
ago : me | |
})) : callback("Offline"); | |
}; | |
/** | |
* @param {Object} item | |
* @return {?} | |
*/ | |
var inArray = function(item) { | |
if (!item) { | |
return null; | |
} | |
/** @type {number} */ | |
var closingAnimationTime = item.push ? 1 : 0; | |
var id; | |
for (id in items[item.id]) { | |
var existing = items[item.id][id]; | |
if (deepMatches(existing)) { | |
existing = existing.session_type; | |
if ("iphone" == existing || "android_phone" == existing) { | |
/** @type {number} */ | |
closingAnimationTime = Math.max(closingAnimationTime, 1); | |
} else { | |
if ("ipad" == existing || "android_tablet" == existing) { | |
/** @type {number} */ | |
closingAnimationTime = Math.max(closingAnimationTime, 2); | |
} else { | |
if ("web" == existing) { | |
/** @type {number} */ | |
closingAnimationTime = Math.max(closingAnimationTime, 3); | |
} | |
} | |
} | |
} | |
} | |
switch(closingAnimationTime) { | |
case 1: | |
return "phone"; | |
case 2: | |
return "tablet"; | |
case 3: | |
return "web"; | |
default: | |
return null; | |
} | |
}; | |
var throttledUpdate = callLater(function() { | |
if (element && element.Er()) { | |
var item = encodeURIComponent(); | |
if (item) { | |
/** @type {Array} */ | |
var b = []; | |
var name; | |
for (name in item.bb) { | |
var bi = item.bb[name]; | |
if (bi.Pc()) { | |
b.push(bi); | |
} | |
} | |
if (b && 0 != b.length) { | |
name = new ref; | |
/** @type {number} */ | |
bi = 0; | |
for (;bi < b.length;++bi) { | |
var self = b[bi]; | |
if (!(self.kc() || (self.qa() || (self.type() != expectedNumberOfNonCommentArgs || (enc(self, t1) || enc(self, attributes)))))) { | |
if (self instanceof list && self.cb()) { | |
/** @type {boolean} */ | |
var prefix = false; | |
/** @type {number} */ | |
var node = 0; | |
for (;node < self.lb().length;++node) { | |
var _node = self.lb()[node]; | |
if (_node.kc() || _node.qa()) { | |
/** @type {boolean} */ | |
prefix = true; | |
} | |
} | |
if (prefix) { | |
continue; | |
} | |
} | |
prefix = self.yi || self.xf(); | |
if (999 != prefix % 1E3) { | |
node = self.za(); | |
if (self instanceof Constructor) { | |
node = node.ya(); | |
} | |
origFindId(node, 22, true); | |
node.qm(); | |
node.om(); | |
isArray(node, 20); | |
self.yi = prefix + 1; | |
node.Xb(prefix + 1); | |
name.mc(node); | |
} | |
} | |
} | |
if (0 != name.li()) { | |
element.rr(item.tc() || "", JSON.stringify({ | |
type : "sections", | |
user_id : data.ka.id, | |
session_id : _isInstance(), | |
document_id : type(item), | |
thread_id : item.tc(), | |
document_data : stylize(name) | |
})); | |
} | |
} | |
} | |
} | |
}, 100); | |
attempt(function() { | |
createDom(li, 5E3); | |
createDom(function() { | |
if (isFn()) { | |
successCallback(); | |
} | |
}, 1E4); | |
nextTick(data, successCallback); | |
}); | |
var uidList = {}; | |
var resourceCache = {}; | |
/** @type {number} */ | |
var exponent = 0; | |
/** @type {boolean} */ | |
var Zp = false; | |
/** @type {boolean} */ | |
var $p = false; | |
/** | |
* @param {string} value | |
* @param {string} name | |
* @param {string} ret | |
* @param {Function} onComplete | |
* @param {string} uid | |
* @param {Function} onReady | |
* @param {number} atts | |
* @param {boolean} recurring | |
* @param {Function} method | |
* @param {Function} parentRequire | |
* @return {undefined} | |
*/ | |
var load = function(value, name, ret, onComplete, uid, onReady, atts, recurring, method, parentRequire) { | |
/** @type {string} */ | |
var dir = ("https:" == window.location.protocol ? "wss://" : "ws://") + ("" == value ? window.location.hostname : value) + ":" + ("" == ret ? window.location.port : ret); | |
/** @type {string} */ | |
dir = dir + name; | |
if (onReady) { | |
dir += "?" + insertBefore(onReady()); | |
} | |
console.log("Websocket: Connecting to " + dir); | |
fetchText(); | |
/** @type {WebSocket} */ | |
var me = new WebSocket(dir); | |
/** @type {WebSocket} */ | |
uidList[uid] = me; | |
exponent++; | |
addEvent(me, "open", function() { | |
console.log("Websocket: Connected"); | |
errcb(); | |
/** @type {number} */ | |
exponent = 0; | |
/** @type {boolean} */ | |
Zp = true; | |
if (parentRequire) { | |
parentRequire(); | |
} | |
delete resourceCache[uid]; | |
}); | |
if (true != recurring) { | |
addEvent(me, "close", function(error) { | |
/** @type {boolean} */ | |
var q = true === me.my; | |
if (me.Wu) { | |
me.Wu(); | |
} | |
var element = me.Dz; | |
if (1008 == error.code) { | |
console.log("User is not authorized. Reloading window"); | |
window.location.reload(true); | |
} | |
delete uidList[uid]; | |
if (q) { | |
console.warn("Websocket closed"); | |
if (element) { | |
element(); | |
} | |
} else { | |
if (10 <= exponent && !Zp) { | |
console.warn("Too many failed web socket connection attempts without ever successfully connecting, giving up."); | |
/** @type {boolean} */ | |
$p = true; | |
} else { | |
if (!(3 != exponent)) { | |
if (!Zp) { | |
if (!_isFunction()) { | |
onload(get(callback("Could not connect to the Quip server for live updates. You may have a misconfigured HTTP proxy or an unsupported browser. <a href='http://support.quip.com/'>Contact support</a>")), void 0, 6E4); | |
next("/-/report-websocket-error", {}, function() { | |
}); | |
} | |
} | |
} | |
/** @type {number} */ | |
error = Math.min(3E4, Math.pow(2, exponent) * (atts || 500) + Math.round(1E3 * Math.random())); | |
console.warn("Websocket closed, reconnecting in " + Math.round(error / 1E3) + " seconds"); | |
error = push(function() { | |
if (method) { | |
method(uid); | |
} else { | |
load(value, name, ret, onComplete, uid, onReady, atts); | |
} | |
}, error); | |
resourceCache[uid] = { | |
hostname : value, | |
path : name, | |
port : ret, | |
/** @type {Function} */ | |
ee : onComplete, | |
aA : uid, | |
/** @type {Function} */ | |
Ex : onReady, | |
py : atts, | |
lw : error, | |
/** @type {Function} */ | |
Rz : method, | |
/** @type {Function} */ | |
Yx : parentRequire | |
}; | |
} | |
} | |
}); | |
} | |
addEvent(me, "error", function(m) { | |
console.error("Websocket: Error ", m); | |
}); | |
addEvent(me, "message", function(xhr) { | |
onComplete(onfail(xhr.data)); | |
}); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var resolveWith = function() { | |
return uidList.listen; | |
}; | |
/** | |
* @param {?} uid | |
* @return {undefined} | |
*/ | |
var _toString = function(uid) { | |
if (!$p) { | |
var resource = resourceCache[uid]; | |
if (resource) { | |
delete resourceCache[uid]; | |
protectedClearTimeout(resource.lw); | |
load(resource.hostname, resource.path, resource.port, resource.ee, resource.aA, resource.Ex, resource.py, false, resource.Rz, resource.Yx); | |
} | |
} | |
}; | |
/** | |
* @param {?} k | |
* @return {undefined} | |
*/ | |
var buildJSON = function(k) { | |
/** @type {function (?): undefined} */ | |
var callback = redo; | |
if (!$p) { | |
var resource = resourceCache[k]; | |
if (resource) { | |
resource.lw = push(function() { | |
callback(k); | |
}, 1E4); | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var fetchText = function() { | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var errcb = function() { | |
}; | |
/** | |
* @param {string} cb | |
* @param {Object} opt_attributes | |
* @return {undefined} | |
*/ | |
var maybeCallback = function(cb, opt_attributes) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < results.length;i++) { | |
results[i].Dd(cb, opt_attributes); | |
} | |
}; | |
/** @type {Array} */ | |
var results = []; | |
/** | |
* @param {?} log | |
* @return {undefined} | |
*/ | |
var sendLog = function(log) { | |
if (!value(results, log)) { | |
results.push(log); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Complex = function() { | |
/** @type {Array} */ | |
this.im = []; | |
/** @type {Array} */ | |
this.jm = []; | |
/** @type {Array} */ | |
this.gm = []; | |
/** @type {Array} */ | |
this.hm = []; | |
/** @type {number} */ | |
this.jo = 0; | |
}; | |
/** | |
* @param {string} cb_ | |
* @param {Object} opt_attributes | |
* @return {undefined} | |
*/ | |
Complex.prototype.Dd = function(cb_, opt_attributes) { | |
this.im.push(cb_); | |
this.jm.push(opt_attributes || {}); | |
startServer(this); | |
}; | |
/** | |
* @param {number} target | |
* @param {number} b | |
* @param {number} a | |
* @return {undefined} | |
*/ | |
Complex.prototype.Xq = function(target, b, a) { | |
this.gm.push(target); | |
this.hm.push(a - b); | |
startServer(this); | |
}; | |
/** | |
* @param {?} server | |
* @return {undefined} | |
*/ | |
var startServer = function(server) { | |
if (!server.ds) { | |
if (server.jo) { | |
protectedClearTimeout(server.jo); | |
} | |
server.jo = push(bind(function() { | |
/** @type {boolean} */ | |
this.ds = true; | |
/** @type {number} */ | |
this.jo = 0; | |
var ast = this.im; | |
var callArgs = this.jm; | |
/** @type {Array} */ | |
var encodedItemArray = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < callArgs.length;i++) { | |
encodedItemArray.push(encodeURIComponent(JSON.stringify(callArgs[i]))); | |
} | |
var l = this.gm; | |
var position = this.hm; | |
/** @type {Array} */ | |
this.im = []; | |
/** @type {Array} */ | |
this.jm = []; | |
/** @type {Array} */ | |
this.gm = []; | |
/** @type {Array} */ | |
this.hm = []; | |
next("/-/metrics", { | |
metric_names : ast.join(","), | |
metric_args : encodedItemArray.join(","), | |
perf_metrics : l.join(","), | |
perf_times : position.join(",") | |
}, bind(function() { | |
/** @type {boolean} */ | |
this.ds = false; | |
}, this), bind(function() { | |
/** @type {boolean} */ | |
this.ds = false; | |
toggleClass(this.im, ast); | |
toggleClass(this.jm, callArgs); | |
toggleClass(this.gm, l); | |
toggleClass(this.hm, position); | |
return false; | |
}, this)); | |
}, server), 11E3); | |
} | |
}; | |
var viewport = new Complex; | |
sendLog(viewport); | |
attempt(function() { | |
/** | |
* @param {string} keepData | |
* @param {Object} value | |
* @return {undefined} | |
*/ | |
underscore = function(keepData, value) { | |
if (500 <= value.status) { | |
if ("/-/metrics" != keepData) { | |
maybeCallback("server_error", { | |
status : value.status.toString() | |
}); | |
} | |
} | |
}; | |
}); | |
/** | |
* @param {?} t | |
* @param {?} s | |
* @param {?} level | |
* @return {undefined} | |
*/ | |
var subdivide = function(t, s, level) { | |
this.pz = t; | |
this.hw = s; | |
if (!(level in levels)) { | |
/** @type {Array} */ | |
levels[level] = []; | |
} | |
levels[level].push(this); | |
}; | |
var levels = {}; | |
new subdivide(0, 0, 7); | |
new subdivide(1, 0, 4); | |
new subdivide(2, 1, 4); | |
new subdivide(3, 0, nodeRequest); | |
new subdivide(4, 1, nodeRequest); | |
new subdivide(5, 2, 5); | |
new subdivide(6, 2, nodeRequest); | |
new subdivide(7, 8, nodeRequest); | |
new subdivide(8, 8, channelName); | |
new subdivide(15, 17, 18); | |
new subdivide(18, 17, 23); | |
new subdivide(16, 19, 20); | |
new subdivide(19, 8, 24); | |
new subdivide(11, 11, 12); | |
var texturesMap = {}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @param {number} b | |
* @return {undefined} | |
*/ | |
var pub = function(expectedNumberOfNonCommentArgs, b) { | |
if (getNativeElement()) { | |
console.timeStamp(forIn(deps, expectedNumberOfNonCommentArgs)); | |
} | |
if (!b) { | |
b = now(); | |
} | |
/** @type {number} */ | |
texturesMap[expectedNumberOfNonCommentArgs] = b; | |
var codeSegments = levels[expectedNumberOfNonCommentArgs] || []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var map = codeSegments[i]; | |
if (map.hw in texturesMap) { | |
zeropad(map.pz, texturesMap[map.hw], b); | |
} | |
} | |
}; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {undefined} | |
*/ | |
var makeRequest = function(expectedNumberOfNonCommentArgs) { | |
if (isFn()) { | |
synchronize(function() { | |
finish(function() { | |
pub(expectedNumberOfNonCommentArgs); | |
}, true); | |
}); | |
} | |
}; | |
/** | |
* @param {number} attributes | |
* @param {number} needle | |
* @param {number} x | |
* @return {undefined} | |
*/ | |
var zeropad = function(attributes, needle, x) { | |
if (needle >= itemWidth) { | |
needle -= itemWidth; | |
x -= itemWidth; | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i < results.length;i++) { | |
results[i].Xq(attributes, needle, x); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var _isLocalStorageAvailable = function() { | |
delete texturesMap[0]; | |
delete texturesMap[1]; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var sel = function() { | |
if ("clientperfExternalTimings" in window) { | |
/** @type {number} */ | |
var conditionIndex = 0; | |
for (;conditionIndex < clientperfExternalTimings.length;conditionIndex++) { | |
pub(clientperfExternalTimings[conditionIndex][0], clientperfExternalTimings[conditionIndex][1]); | |
} | |
/** @type {Array} */ | |
clientperfExternalTimings = []; | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var date = function() { | |
/** | |
* @param {number} opt_attributes | |
* @param {?} table | |
* @return {undefined} | |
*/ | |
function format(opt_attributes, table) { | |
/** @type {(Array.<(PerformanceEntry|null)>|null)} */ | |
var t = window.performance.getEntriesByName(table); | |
if (t.length) { | |
/** @type {(PerformanceEntry|null)} */ | |
t = t[0]; | |
zeropad(opt_attributes, t.startTime, t.responseEnd); | |
} | |
} | |
var j = jQuery("link[rel=stylesheet]"); | |
if (!j.empty()) { | |
format(9, j.get().href); | |
} | |
j = jQuery("script[data-js-client-hash='" + getCacheKey() + "']"); | |
if (!j.empty()) { | |
format(10, j.get().src); | |
} | |
}; | |
/** @type {number} */ | |
var itemWidth = 0; | |
if (window.performance && window.performance.timing) { | |
/** @type {PerformanceTiming} */ | |
var timing = window.performance.timing; | |
/** @type {number} */ | |
itemWidth = timing.navigationStart; | |
pub(0, timing.navigationStart); | |
pub(1, timing.domLoading); | |
if (window.performance.getEntriesByName) { | |
push(date, 1E4); | |
} | |
} | |
attempt(sel); | |
append("clientperf.consumeExternalTimings", sel); | |
/** | |
* @param {Function} compareFn | |
* @return {undefined} | |
*/ | |
binarySearch_ = function(compareFn) { | |
pub(6); | |
compareFn(); | |
pub(7); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
fetchText = function() { | |
pub(11); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
errcb = function() { | |
pub(12); | |
}; | |
var cpu; | |
/** @type {string} */ | |
var argumentIndex = ""; | |
/** @type {number} */ | |
var startIdx = 0; | |
/** @type {number} */ | |
var leadInStartTime = 0; | |
/** @type {string} */ | |
var retVal = ""; | |
/** @type {string} */ | |
var fragment = ""; | |
/** @type {string} */ | |
var strValue = ""; | |
/** @type {boolean} */ | |
var Fq = false; | |
var ex_ctx = {}; | |
/** @type {boolean} */ | |
var component = false; | |
var _this = {}; | |
/** @type {number} */ | |
var pause_ref_count = 0; | |
/** @type {Array} */ | |
var eventPath = []; | |
/** @type {Array} */ | |
var ca = []; | |
/** | |
* @return {undefined} | |
*/ | |
var sendEvent = function() { | |
if (isFn() && $broadcast(3E5)) { | |
pass(ex_ctx.thread_id, ex_ctx.message_sequence); | |
ex_ctx = {}; | |
} else { | |
push(sendEvent, 1E3); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var wrapper = function() { | |
argumentIndex = S4() + S4() + S4(); | |
/** @type {string} */ | |
var udataCur = window.location.hostname; | |
/** @type {string} */ | |
var promise = "443"; | |
/** @type {string} */ | |
var env = "0"; | |
if ("9010" == window.location.port) { | |
/** @type {string} */ | |
promise = "9030"; | |
} | |
if ("staging.quip.com" == window.location.hostname || "dirt.quip.com" == window.location.hostname) { | |
/** @type {string} */ | |
promise = "8443"; | |
} | |
if ("" != fragment) { | |
udataCur = fragment; | |
} | |
if ("" != strValue) { | |
env = strValue; | |
} | |
load(udataCur, "/-/listen/" + env, promise, onComplete, "listen", onReady, 1E3, false, redo, renderCallback); | |
createDom(function() { | |
if (!(6E4 >= now() - leadInStartTime)) { | |
console.error("Too long since last heartbeat"); | |
var srv = resolveWith(); | |
if (srv) { | |
cloudinary_url(false); | |
srv.close(); | |
} | |
} | |
}, 6E4); | |
createDom(resolve, 1E4); | |
createDom(deferred, 1E3); | |
}; | |
/** | |
* @param {?} obj | |
* @return {undefined} | |
*/ | |
var redo = function(obj) { | |
if ($broadcast(3E5)) { | |
_toString(obj); | |
} else { | |
console.warn("Browser inactive, not reconnecting, checking back in 10 seconds."); | |
buildJSON(obj); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var renderCallback = function() { | |
var settings = resolveWith(); | |
call(opts, "listen_connect", { | |
url : settings.URL | |
}); | |
/** @type {function (): undefined} */ | |
settings.Wu = image; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var image = function() { | |
call(opts, "listen_disconnect", { | |
url : resolveWith().URL | |
}); | |
cloudinary_url(false); | |
}; | |
/** | |
* @param {Object} elems | |
* @return {undefined} | |
*/ | |
var onComplete = function(elems) { | |
if (elems) { | |
if (67 == elems.type) { | |
var v = encodeURIComponent(); | |
if (v && v.tf()) { | |
v.save(function() { | |
window.location.reload(true); | |
}, true); | |
} else { | |
window.location.reload(true); | |
} | |
} | |
if (72 == elems.type) { | |
/** @type {string} */ | |
window.location = "/"; | |
} | |
if (69 == elems.type) { | |
onData(elems); | |
} else { | |
if (null == elems.compound_checksum || elems.type && 68 != elems.type) { | |
if (73 == elems.type) { | |
console.log("Websocket: backlog done"); | |
cloudinary_url(true); | |
} | |
if (74 == elems.type) { | |
console.log("Websocket: post-backlog queue done"); | |
} | |
if (0 < pause_ref_count) { | |
showList(elems); | |
ca.push(elems); | |
} else { | |
setup(elems); | |
} | |
if (elems.listen_cursor) { | |
/** @type {number} */ | |
v = parseInt(elems.listen_cursor, 10); | |
if (v <= retVal) { | |
call(opts, "listen_cursor_decrease", { | |
listen_cursor : retVal, | |
new_listen_cursor : v | |
}); | |
} else { | |
retVal = elems.listen_cursor; | |
} | |
} | |
} else { | |
console.log("Websocket: heartbeat, checksum=" + elems.compound_checksum + ", dirty=" + elems.compound_checksum_dirty + ", time=" + (new Date).toTimeString()); | |
leadInStartTime = now(); | |
} | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var processOne = function() { | |
pause_ref_count++; | |
eventPath.push(push(function() { | |
call(opts, "unbalanced_listen_pause", { | |
pause_ref_count : pause_ref_count | |
}); | |
}, 72E3)); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var loadNext = function() { | |
if (1 == pause_ref_count) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < ca.length;i++) { | |
setup(ca[i]); | |
} | |
/** @type {Array} */ | |
ca = []; | |
} | |
if (0 < eventPath.length) { | |
protectedClearTimeout(eventPath.pop()); | |
} | |
pause_ref_count--; | |
}; | |
/** | |
* @param {Object} options | |
* @return {undefined} | |
*/ | |
var setup = function(options) { | |
var s = resetQueues(); | |
if (cpu) { | |
var option = cpu; | |
if (option.il != string) { | |
if (_setOption(option, options.type)) { | |
if (option.il == opt_value) { | |
option.Kc.push(options); | |
if (!option.Po) { | |
option.Po = push(bind(option.sy, option), 1E3); | |
} | |
} else { | |
option.Hc([options]); | |
} | |
} | |
} | |
} | |
var e; | |
if (3 == options.type) { | |
e = jQuery(".messages[data-id='" + options.thread_id + "']"); | |
killEvent(e); | |
} | |
if (1 == options.type) { | |
if (options.deleted) { | |
if (options.id == replaceWith()) { | |
onclick(options.thread_id); | |
} | |
} | |
} | |
var value; | |
a: { | |
if (3 == options.type) { | |
/** @type {number} */ | |
option = 0; | |
for (;option < options.html.length;option++) { | |
if (value = options.html[option], "message" == value["class"] && -1 != value.html.indexOf("edit-group")) { | |
value = _callback(options.id); | |
break a; | |
} | |
} | |
} | |
/** @type {null} */ | |
value = null; | |
} | |
put(options); | |
option = isFn() && $broadcast(3E5); | |
if (3 == options.type && data.ka) { | |
/** @type {boolean} */ | |
var optgroup = options.json.author_id == data.ka.id; | |
if (optgroup) { | |
jQuery(".messages[data-id='" + options.thread_id + "'] .message.placeholder").remove(); | |
} | |
if (!(options.thread_id != html())) { | |
if (!optgroup) { | |
if (option) { | |
pass(options.thread_id, options.sequence); | |
} else { | |
if (!ex_ctx.thread_id) { | |
ex_ctx = { | |
thread_id : options.thread_id, | |
message_sequence : options.sequence | |
}; | |
push(sendEvent, 1E3); | |
} | |
} | |
} | |
} | |
if (options.document_metadata_json) { | |
if (options.document_id == replaceWith()) { | |
optgroup = isNaN(options.document_metadata_json, Background); | |
progress(optgroup); | |
} | |
} | |
} | |
if (2 == options.type) { | |
var self = encodeURIComponent(); | |
if (self) { | |
if (options.thread_id == self.tc()) { | |
optgroup = _save(isNaN(options.json, ref), EVENT_READY).Ei; | |
if (optgroup[0].ba.Ik() == type(self)) { | |
if (self.io) { | |
toggleClass(self.io, optgroup); | |
} else { | |
self.io = optgroup; | |
self.uw = push(bind(self.zx, self), 500); | |
} | |
} | |
} | |
} | |
} | |
if (1 == options.type) { | |
if (options.thread_id == html()) { | |
if (options.id == replaceWith()) { | |
optgroup = isNaN(options.metadata_json, Background); | |
progress(optgroup); | |
} | |
} | |
} | |
if (0 == options.type) { | |
if (options.thread_id == html()) { | |
optgroup = isNaN(options.metadata_json, GameObject); | |
changeState(optgroup); | |
} | |
} | |
if (71 == options.type) { | |
if (self = encodeURIComponent()) { | |
if (options.document_id == type(self)) { | |
if (get_mangled(self.Gc, 12)) { | |
optgroup = _save(isNaN(options.document_data, ref), EVENT_READY).Ei; | |
self.update(optgroup, "transient_sections"); | |
} | |
} | |
} | |
} | |
if (5 == options.type) { | |
optgroup = options.json; | |
if (data.ka) { | |
if (optgroup.user_id == data.ka.id) { | |
countdown(optgroup.thread_id, optgroup.seen_message_sequence); | |
} | |
} | |
if (options.thread_id == html()) { | |
if (optgroup.user_id == options.user_id) { | |
if (0 > optgroup.level) { | |
j(); | |
} | |
} | |
} | |
} | |
if (value) { | |
getValue(options.id, options.thread_id, value); | |
} | |
if (65 == options.type) { | |
/** @type {string} */ | |
options.now = Math.floor(parseInt(options.now, 10) - delta).toString(); | |
value = options.user_id; | |
optgroup = options.session_id; | |
if (!(parseInt(options.now, 10) < now() - 6E4)) { | |
if (!(value in items)) { | |
items[value] = {}; | |
} | |
/** @type {Object} */ | |
items[value][optgroup] = options; | |
if (option) { | |
hasVirtualBindings(); | |
} | |
} | |
} else { | |
if (66 == options.type) { | |
/** @type {Object} */ | |
valueToItem[options.user_id] = options; | |
if (option) { | |
hasVirtualBindings(); | |
} | |
} | |
} | |
if (9 == options.type) { | |
if (option = options.json.user_id, data.ur(option, options.json.affinity), value = options.json.chat_thread_id, optgroup = data, self = optgroup.Ka(option), value) { | |
optgroup.ak[value] = option; | |
if (self) { | |
self.chat_thread_id = value; | |
} | |
} else { | |
var i; | |
for (i in optgroup.ak) { | |
if (optgroup.ak[i] == option) { | |
delete optgroup.ak[i]; | |
break; | |
} | |
} | |
if (self) { | |
/** @type {null} */ | |
self.chat_thread_id = null; | |
} | |
} | |
} | |
/** @type {boolean} */ | |
value = false; | |
if (options.html) { | |
/** @type {number} */ | |
i = 0; | |
for (;option = options.html[i];i++) { | |
if ("thumbnail-stack" == option["class"]) { | |
/** @type {boolean} */ | |
value = true; | |
} | |
} | |
} | |
if (value) { | |
register(); | |
} | |
if (e) { | |
warn_unreachable(e); | |
} | |
/** @type {boolean} */ | |
value = e = false; | |
if (options.html) { | |
/** @type {number} */ | |
i = 0; | |
for (;option = options.html[i];i++) { | |
if ("remove" == option.action) { | |
if ("snippet" == option["class"]) { | |
/** @type {boolean} */ | |
e = true; | |
} else { | |
if ("thumbnail-stack" == option["class"]) { | |
/** @type {boolean} */ | |
value = true; | |
} | |
} | |
} | |
} | |
} | |
if (e) { | |
newBindings(); | |
} | |
if (value) { | |
clearSelection(); | |
} | |
e = resetQueues(); | |
if (33 < e - s) { | |
console.warn(e - s + "ms to process " + page(options.type) + " message", options); | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
var onReady = function() { | |
var pluginResult = {}; | |
if (retVal) { | |
pluginResult.listen_cursor = retVal; | |
} | |
if (Zp) { | |
if ("desktop-mode" == (routine() || execCommand())) { | |
pluginResult.folder_id = floor(); | |
} | |
} | |
if (Fq) { | |
/** @type {number} */ | |
pluginResult.force_send_inbox_and_browser = 1; | |
} | |
if (_isFunction()) { | |
if (setAttribute()) { | |
pluginResult.secret_path = setAttribute(); | |
} | |
if (actual.Aa()) { | |
pluginResult.secret_object_id = actual.Aa(); | |
} | |
} | |
return pluginResult; | |
}; | |
/** | |
* @param {Object} element | |
* @return {undefined} | |
*/ | |
var resolve = function(element) { | |
if (!info()) { | |
var i = now(); | |
if (1E3 > i - startIdx) { | |
if (!component) { | |
/** @type {boolean} */ | |
component = true; | |
push(slice(resolve, true), 1E3); | |
} | |
} else { | |
if (startIdx = i, element && (component = false), (element = resolveWith()) && !(element.readyState != WebSocket.OPEN || 102400 < element.bufferedAmount)) { | |
var self = defer(); | |
var compilerWords = {}; | |
expect(jQuery(".thread .thread-sharing .folder-row"), function() { | |
if (jQuery(this).data("path")) { | |
var codeSegments = jQuery(this).data("path").split(","); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
/** @type {boolean} */ | |
compilerWords[codeSegments[i]] = true; | |
} | |
} | |
}); | |
/** @type {Array} */ | |
var assigns = []; | |
var vvar; | |
for (vvar in compilerWords) { | |
if (vvar) { | |
assigns.push(vvar); | |
} | |
} | |
/** @type {string} */ | |
vvar = assigns.join(); | |
element.send(JSON.stringify({ | |
type : "presence", | |
user_id : data.ka ? data.ka.id : "", | |
session_id : _isInstance(), | |
session_type : "web", | |
focused : self.focused, | |
active : self.active, | |
active2 : self.active2, | |
editing : self.editing, | |
mode : execCommand(), | |
thread_id : html(), | |
doc_id : replaceWith(), | |
folder_path : parent(jQuery(".folder")).data("path"), | |
folder_union : vvar, | |
lat : null, | |
lon : null, | |
now : i, | |
server_now : Math.floor(i + delta) | |
})); | |
} | |
} | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
var defer = function() { | |
var isActive = $broadcast(3E5); | |
var active2 = $broadcast(9E5); | |
var _false = window.document.hasFocus() && isFn(); | |
/** @type {boolean} */ | |
var editing = false; | |
if (encodeURIComponent()) { | |
if (readFile().ta) { | |
/** @type {boolean} */ | |
editing = true; | |
} | |
} | |
return{ | |
focused : _false, | |
active : isActive, | |
active2 : active2, | |
editing : editing | |
}; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var deferred = function() { | |
var self = defer(); | |
if (!(_this && (_this.focused == self.focused && (_this.active == self.active && (_this.active2 == self.active2 && _this.editing == self.editing))))) { | |
resolve(); | |
} | |
_this = self; | |
}; | |
/** | |
* @param {string} module | |
* @param {number} first | |
* @param {number} namespaces | |
* @param {boolean} dataAndEvents | |
* @return {undefined} | |
*/ | |
var teardown = function(module, first, namespaces, dataAndEvents) { | |
/** @type {string} */ | |
retVal = module; | |
/** @type {number} */ | |
fragment = first; | |
/** @type {string} */ | |
strValue = String(namespaces % 10); | |
if (dataAndEvents) { | |
/** @type {boolean} */ | |
Fq = true; | |
} | |
if (module = resolveWith()) { | |
/** @type {boolean} */ | |
module.my = true; | |
/** @type {function (): undefined} */ | |
module.Dz = wrapper; | |
cloudinary_url(false); | |
module.close(); | |
} else { | |
if (module = resourceCache.listen) { | |
delete resourceCache.listen; | |
} | |
if (module) { | |
wrapper(); | |
} | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
var _isInstance = function() { | |
if (!argumentIndex) { | |
argumentIndex = S4() + S4() + S4(); | |
} | |
return argumentIndex; | |
}; | |
append("listen.initialize", function(err, first, i) { | |
if ("WebSocket" in window) { | |
if (!(isCORS && 536 > q || external && 11 > intWidth)) { | |
/** @type {string} */ | |
retVal = err; | |
/** @type {string} */ | |
fragment = first; | |
/** @type {string} */ | |
strValue = String(i % 10); | |
wrapper(); | |
} | |
} | |
}); | |
gatherStats(function(result) { | |
result.session_id = argumentIndex; | |
}); | |
attempt(function() { | |
ee.addListener(function(dataAndEvents) { | |
if (3E5 < dataAndEvents) { | |
_toString("listen"); | |
if (data.ka) { | |
addClass(jQuery(".presence[data-id='" + data.ka.id + "']"), "active", $broadcast(3E5)); | |
} | |
resolve(); | |
} | |
}); | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var change = function() { | |
this.dh = new Cookie("listen-debug"); | |
this.il = this.dh.get("mode", getNativeElement() ? opt_value : string); | |
/** @type {Array} */ | |
this.Kc = []; | |
/** @type {number} */ | |
this.Po = 0; | |
this.$j = get("<div id='listen-debug' class='debug-bar bottom' data-mousedown='no-caret-move'><div class='logo'>Listen</div><label>Logging: <select data-change='listen-debug-mode' data-mousedown='listen-debug-mode'><option>Disabled</option><option>Buffered</option><option>Immediate</option></select></label><div class='type-filter'><label>Log</label><div class='type-filter-contents'><div><span class='link' data-click='listen-debug-filter-all'>All</span> - <span class='link' data-click='listen-debug-filter-none'>None</span></div></div></div><button data-click='listen-debug-pause'>Pause</button><button data-click='listen-debug-resume'>Resume</button></div>"); | |
/** @type {boolean} */ | |
this.$j.find("option").get(this.il).selected = true; | |
var unlock; | |
for (unlock in paramType) { | |
var camelKey = paramType[unlock]; | |
var value = page(camelKey); | |
if (value) { | |
var selected = createElement("input").setAttribute("type", "checkbox").af(camelKey).setData("change", "listen-debug-filter"); | |
selected.get().checked = _setOption(this, camelKey); | |
camelKey = createElement("label").append(selected).append(apply(value)); | |
this.$j.find(".type-filter-contents").append(camelKey); | |
} | |
} | |
if (this.dh.get("visible")) { | |
enable(this); | |
} | |
item.append(this.$j); | |
}; | |
/** @type {number} */ | |
var string = 0; | |
/** @type {number} */ | |
var opt_value = 1; | |
var valuesByKey = { | |
65 : false, | |
66 : false | |
}; | |
/** | |
* @param {Object} callback | |
* @return {undefined} | |
*/ | |
var showList = function(callback) { | |
var udataCur = cpu; | |
if (udataCur.il != string) { | |
if (_setOption(udataCur, callback.type)) { | |
console.log(page(callback.type) + " message received while paused."); | |
} | |
} | |
}; | |
/** | |
* @param {?} value | |
* @param {string} key | |
* @return {?} | |
*/ | |
var _setOption = function(value, key) { | |
return value.dh.get(key + "-logged", key in valuesByKey ? valuesByKey[key] : true); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
change.prototype.sy = function() { | |
this.Hc(this.Kc); | |
/** @type {Array} */ | |
this.Kc = []; | |
/** @type {number} */ | |
this.Po = 0; | |
}; | |
/** | |
* @param {Array} args | |
* @return {undefined} | |
*/ | |
change.prototype.Hc = function(args) { | |
if (1 == args.length) { | |
var a = args[0]; | |
console.groupCollapsed("Websocket message (" + page(a.type) + ")"); | |
var i; | |
for (i in a) { | |
console.log(i, a[i]); | |
} | |
} else { | |
var attributes = {}; | |
/** @type {number} */ | |
i = 0; | |
for (;i < args.length;i++) { | |
a = args[i].type; | |
attributes[a] = 1 + (attributes[a] || 0); | |
} | |
/** @type {string} */ | |
var e = "(" + args.length + ": "; | |
/** @type {number} */ | |
i = 0; | |
for (a in attributes) { | |
if (0 < i) { | |
e += ", "; | |
} | |
e += page(parseInt(a, 10)) + "=" + attributes[a]; | |
i++; | |
} | |
console.groupCollapsed("Websocket messages " + (e + ")")); | |
/** @type {number} */ | |
i = 0; | |
for (;i < args.length;i++) { | |
if (a = args[i], console.log(page(a.type), a), 50 < i) { | |
console.log("...and " + (args.length - i - 1) + " more messages (omitted)"); | |
break; | |
} | |
} | |
} | |
console.groupEnd(); | |
}; | |
/** | |
* @param {?} self | |
* @return {undefined} | |
*/ | |
var enable = function(self) { | |
removeAttr(self.$j, "visible"); | |
var opt_isDefault = self.$j.j("visible"); | |
self.dh.set("visible", opt_isDefault); | |
if (opt_isDefault) { | |
if (!exec(self.Ci)) { | |
self.Ci = createDom(bind(self.bs, self), 1E3); | |
} | |
} else { | |
window.clearInterval(self.Ci); | |
delete self.Ci; | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
change.prototype.bs = function() { | |
addClass(this.$j, "paused", 0 < pause_ref_count); | |
}; | |
getEnumerableProperties(_concat(76, function() { | |
enable(cpu); | |
return true; | |
}), 3, "Toggle listen debug controls"); | |
$("change", "listen-debug-mode", function() { | |
var item = cpu; | |
var opt_isDefault = this.get().selectedIndex; | |
item.il = opt_isDefault; | |
item.dh.set("mode", opt_isDefault); | |
return true; | |
}); | |
$("mousedown", "listen-debug-mode", function(event) { | |
cancelEvent(event); | |
return true; | |
}); | |
$("change", "listen-debug-filter", function() { | |
/** @type {number} */ | |
var width = parseInt(this.value(), 10); | |
var opt_isDefault = this.get().checked; | |
cpu.dh.set(width + "-logged", opt_isDefault); | |
return true; | |
}); | |
$("click", "listen-debug-filter-all", function() { | |
expect(this.parent(".type-filter-contents").find("input"), function() { | |
/** @type {boolean} */ | |
this.checked = true; | |
cpu.dh.set(this.value + "-logged", true); | |
}); | |
return true; | |
}); | |
$("click", "listen-debug-filter-none", function() { | |
expect(this.parent(".type-filter-contents").find("input"), function() { | |
/** @type {boolean} */ | |
this.checked = false; | |
cpu.dh.set(this.value + "-logged", false); | |
}); | |
return true; | |
}); | |
$("click", "listen-debug-pause", function() { | |
processOne(); | |
cpu.bs(); | |
return true; | |
}); | |
$("click", "listen-debug-resume", function() { | |
loadNext(); | |
cpu.bs(); | |
return true; | |
}); | |
attempt(function() { | |
cpu = new change; | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var stop = function() { | |
if (data.Ed.bA) { | |
/** @type {number} */ | |
var s = 0; | |
var sort = data.ka.seen_signals_usec; | |
expect(jQuery(".signals .signal"), function() { | |
if (jQuery(this).data("sort") <= sort) { | |
return false; | |
} | |
s++; | |
if (9 < s) { | |
return false; | |
} | |
}); | |
addClass(addClass(jQuery("nav .button.signals .unread-badge"), "small", 9 < s), "none", 0 == s).setData("count", s).ca(s); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var callback2 = function() { | |
if (assertEquals(jQuery("nav .button.signals .unread-badge"), "count")) { | |
next("/-/seen-signals", {}, function(chat) { | |
put(chat); | |
}); | |
} | |
}; | |
/** | |
* @param {?} num | |
* @param {?} howMany | |
* @return {undefined} | |
*/ | |
var countdown = function(num, howMany) { | |
expect(jQuery(".signals .signal.unread"), function() { | |
var doc = jQuery(this); | |
var docUid = assertEquals(doc, "message-sequence"); | |
if (doc.data("thread-id") == num) { | |
if (howMany >= docUid) { | |
doc.k("unread"); | |
} | |
} | |
}); | |
}; | |
$("click", "signal", function(data) { | |
if (1 == data.button || data.metaKey) { | |
return true; | |
} | |
data = this.data("thread-id"); | |
var attributes = this.data("message-id"); | |
var target = this.data("annotation-id"); | |
if (attributes && target) { | |
onclick(data, void 0, void 0, function() { | |
removeEventListener(target, false); | |
}); | |
} else { | |
onclick(data, attributes); | |
} | |
callback2(); | |
return false; | |
}); | |
$("scroll", "signals", function() { | |
if (0.75 < _reorderListItem(jQuery("#signals > .body"))) { | |
compile("signal-page", "signal", 20, jQuery("#signals > .body")); | |
} | |
return false; | |
}); | |
$("dialog-customize", "signals", function() { | |
var sort = data.ka.seen_signals_usec; | |
jQuery(".signals .signal.unseen").k("unseen"); | |
expect(jQuery(".signals .signal"), function() { | |
var result = jQuery(this); | |
if (result.data("sort") <= sort) { | |
return false; | |
} | |
result.g("unseen"); | |
}); | |
callback2(); | |
return true; | |
}); | |
$("dialog-cleanup", "signals", function() { | |
callback2(); | |
return true; | |
}); | |
/** | |
* @param {?} d | |
* @param {Blob} off | |
* @param {(Element|string)} exports | |
* @return {undefined} | |
*/ | |
var b = function(d, off, exports) { | |
this.yA = d; | |
/** @type {Blob} */ | |
this.xA = off; | |
this.uf = exports || null; | |
/** @type {boolean} */ | |
this.ng = false; | |
/** @type {boolean} */ | |
this.iu = true; | |
/** @type {number} */ | |
this.Aq = 3; | |
/** @type {boolean} */ | |
this.vv = true; | |
/** @type {boolean} */ | |
this.ru = false; | |
this.Tq = void 0; | |
}; | |
/** | |
* @return {?} | |
*/ | |
b.prototype.types = function() { | |
return this.yA; | |
}; | |
/** | |
* @return {?} | |
*/ | |
b.prototype.hi = function() { | |
var message; | |
if (!(message = this.uf)) { | |
if (!MSG_OFFLINE_STATUS_SYNCING_MESSAGE) { | |
MSG_OFFLINE_STATUS_SYNCING_MESSAGE = new from; | |
} | |
message = MSG_OFFLINE_STATUS_SYNCING_MESSAGE; | |
} | |
return message; | |
}; | |
/** | |
* @return {?} | |
*/ | |
b.prototype.hl = function() { | |
return 4; | |
}; | |
/** | |
* @param {string} tileHeight | |
* @param {?} rows | |
* @param {?} tileset | |
* @param {?} l | |
* @return {undefined} | |
*/ | |
var Tilemap = function(tileHeight, rows, tileset, l) { | |
/** @type {string} */ | |
this.Cb = tileHeight; | |
this.la = rows; | |
this.hf = tileset; | |
this.l = l; | |
}; | |
/** | |
* @param {?} keepData | |
* @return {?} | |
*/ | |
Tilemap.prototype.wa = function(keepData) { | |
return this.Cb == keepData.Cb && (this.la.wa(keepData.la) && (this.hf == keepData.hf && this.l == keepData.l)); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Terminal = function() { | |
/** @type {null} */ | |
this.Ih = this.Mb = null; | |
}; | |
/** @type {function (): ?} */ | |
Terminal.prototype.Hr = tmp; | |
/** @type {function (): ?} */ | |
Terminal.prototype.Xp = tmp; | |
/** @type {function (): ?} */ | |
Terminal.prototype.Gl = tmp; | |
/** @type {function (): ?} */ | |
Terminal.prototype.reset = tmp; | |
/** @type {null} */ | |
var MSG_OFFLINE_STATUS_SYNCING_MESSAGE = null; | |
/** | |
* @param {boolean} recurring | |
* @return {?} | |
*/ | |
var animationsDisabled = function(recurring) { | |
var optgroup = objEquiv(recurring); | |
if (!optgroup) { | |
return trimDots(recurring), false; | |
} | |
var body = recurring.Cb.hi(); | |
if (body.Mb && (body.Ih && (body.Mb.wa(recurring) && body.Ih.Tc == optgroup.Tc))) { | |
return true; | |
} | |
var rvar = new ValidationError; | |
if (optgroup.Tc || recurring.Cb.ng) { | |
var codeSegments = recurring.Cb.types(optgroup); | |
var cur = recurring.Cb.hl(optgroup, recurring); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length && cur;i++) { | |
var expectedNumberOfNonCommentArgs = codeSegments[i]; | |
var options = expectedNumberOfNonCommentArgs in arr2 ? arr2[expectedNumberOfNonCommentArgs].fy : null; | |
if (options && (options = options.$f(optgroup, recurring, cur), options.length)) { | |
/** @type {number} */ | |
cur = cur - options.length; | |
var elems = new Capture; | |
elems.mb(expectedNumberOfNonCommentArgs); | |
/** @type {number} */ | |
expectedNumberOfNonCommentArgs = 0; | |
for (;expectedNumberOfNonCommentArgs < options.length;expectedNumberOfNonCommentArgs++) { | |
elems.vd(options[expectedNumberOfNonCommentArgs] + ""); | |
} | |
rvar.ys(elems); | |
} | |
} | |
} | |
if (!rvar.$t()) { | |
return trimDots(recurring), false; | |
} | |
body.Hr(rvar, recurring, optgroup); | |
return true; | |
}; | |
/** | |
* @param {?} optgroup | |
* @param {boolean} recurring | |
* @return {?} | |
*/ | |
var $http = function(optgroup, recurring) { | |
return optgroup.Cb.hi().Xp(optgroup, recurring); | |
}; | |
/** @type {RegExp} */ | |
var exclude = /^[\t-\/:-@\[-`{-~\u2000-\u206F\u2E00-\u2E7F]$/; | |
/** @type {RegExp} */ | |
var rparentsprev = /^[a-zA-Z]$/; | |
/** | |
* @param {Object} recurring | |
* @return {?} | |
*/ | |
var objEquiv = function(recurring) { | |
var p = recurring.Cb.xA; | |
if (recurring.l && isArguments(recurring.l)) { | |
return null; | |
} | |
/** @type {(Selection|null)} */ | |
var range = window.getSelection(); | |
if (!range || (0 == range.rangeCount || !range.isCollapsed)) { | |
return null; | |
} | |
/** @type {(Range|null)} */ | |
range = range.getRangeAt(0); | |
range = nodeAtOffset(range.startContainer, range.startOffset, true); | |
if (range.la.nodeType != SELECT) { | |
return null; | |
} | |
var text = range.la.nodeValue; | |
if (range.offset < text.length && !isHTML(text.charAt(range.offset))) { | |
return null; | |
} | |
/** @type {number} */ | |
var offset = range.offset - 1; | |
for (;0 < offset && (!exclude.test(text.charAt(offset)) && !isHTML(text.charAt(offset)));) { | |
offset--; | |
} | |
var name = text.charAt(offset); | |
if ("@" != name) { | |
if (":" != name) { | |
if ("\uff1a" != name) { | |
if (exclude.test(name) || isHTML(name)) { | |
offset++; | |
} | |
} | |
} | |
} | |
var part = text.substring(offset, range.offset); | |
if (0 == part.length || isHTML(part.charAt(part.length - 1))) { | |
return null; | |
} | |
name = part.charAt(0); | |
if (value(p, 0) && "@" == name) { | |
/** @type {number} */ | |
recurring = 0; | |
/** @type {number} */ | |
p = 1; | |
} else { | |
if (!value(p, 1) || ":" != name && "\uff1a" != name) { | |
if (value(p, 2) && (name.toUpperCase() == name && part.length >= recurring.Cb.Aq)) { | |
/** @type {number} */ | |
recurring = 2; | |
/** @type {number} */ | |
p = 0; | |
} else { | |
if (value(p, 3) && (rparentsprev.test(name) && part.length >= recurring.Cb.Aq)) { | |
/** @type {number} */ | |
recurring = 3; | |
/** @type {number} */ | |
p = 0; | |
} else { | |
return null; | |
} | |
} | |
} else { | |
/** @type {number} */ | |
p = recurring = 1; | |
} | |
} | |
return{ | |
co : recurring, | |
Tc : part.substring(p).toLowerCase(), | |
prefix : text.substring(0, offset), | |
kA : text.substring(offset + part.length), | |
zp : jQuery(range.la) | |
}; | |
}; | |
/** | |
* @param {?} optgroup | |
* @return {undefined} | |
*/ | |
var trimDots = function(optgroup) { | |
var $ = optgroup.Cb.hi(); | |
if ($.Mb) { | |
$.reset(optgroup); | |
} | |
if (optgroup.l) { | |
/** @type {null} */ | |
optgroup.l.Hh = null; | |
} | |
}; | |
/** | |
* @param {?} rvar | |
* @param {?} optgroup | |
* @param {Object} recurring | |
* @return {undefined} | |
*/ | |
var seq = function(rvar, optgroup, recurring) { | |
if (recurring.hf && recurring.l) { | |
minify(slice(rvar, optgroup), recurring); | |
} else { | |
if (rvar = data.Ka(optgroup)) { | |
_fn(data.yg(rvar), recurring); | |
} else { | |
if (optgroup = params.Ka(optgroup)) { | |
_fn(params.yg(optgroup), recurring); | |
} | |
} | |
} | |
}; | |
/** | |
* @param {?} callback | |
* @param {Object} recurring | |
* @return {undefined} | |
*/ | |
var minify = function(callback, recurring) { | |
var text = recurring.l; | |
var current = callback(recurring.hf); | |
split(text); | |
if (isContentHeight) { | |
if (-1 != desc.indexOf("htcime")) { | |
finish(spyCall); | |
} | |
} | |
_fn(current.i(), recurring); | |
show(text, current.i()); | |
}; | |
/** | |
* @param {Object} n | |
* @param {string} recurring | |
* @return {undefined} | |
*/ | |
var _fn = function(n, recurring) { | |
var value = objEquiv(recurring); | |
if (value) { | |
var c = value.zp; | |
var self = c.parent("[data-input]"); | |
if (value.prefix) { | |
apply(value.prefix).insertBefore(c); | |
} | |
var f = appendChild(n, SELECT) && 0 == n.text().length; | |
/** @type {null} */ | |
var h = null; | |
if (f) { | |
h = c; | |
} else { | |
if (recurring.Cb.ru) { | |
switch(value.co) { | |
case 1: | |
apply(":").insertBefore(c); | |
break; | |
case 0: | |
apply("@").insertBefore(c); | |
} | |
} | |
n.insertBefore(c); | |
if (recurring.Cb.iu) { | |
h = apply("\u00a0"); | |
h.insertBefore(c); | |
} else { | |
/** @type {Object} */ | |
h = n; | |
} | |
c.remove(); | |
} | |
value = value.kA.replace(/^\s*/g, ""); | |
if (0 < value.length) { | |
parseInt(apply(value), h); | |
} | |
if (f) { | |
c.remove(); | |
} | |
trimDots(recurring); | |
if (!self.empty()) { | |
obj.input[self.data("input")].call(self, null); | |
} | |
} else { | |
trimDots(recurring); | |
} | |
}; | |
var arr2 = {}; | |
/** | |
* @param {number} desiredNonCommentArgIndex | |
* @param {Node} val | |
* @param {Function} dataAndEvents | |
* @return {undefined} | |
*/ | |
var encodeUriSegment = function(desiredNonCommentArgIndex, val, dataAndEvents) { | |
arr2[desiredNonCommentArgIndex] = { | |
fy : val, | |
/** @type {Function} */ | |
Pk : dataAndEvents | |
}; | |
}; | |
/** | |
* @param {?} i | |
* @param {?} subscript | |
* @param {?} expr | |
* @return {undefined} | |
*/ | |
var sub = function(i, subscript, expr) { | |
if (i in arr2) { | |
arr2[i].Pk(subscript, expr); | |
if (expr.Cb.Tq) { | |
expr.Cb.Tq(); | |
} | |
} | |
}; | |
attempt(function() { | |
buildParams(1, callback("Image"), callback("Upload an image"), slice(flatten, function(classesToRemove) { | |
var optgroup = token(classesToRemove); | |
finish(function() { | |
element.kq(optgroup); | |
}); | |
return optgroup; | |
}), 1); | |
buildParams(2, callback("Table"), callback("Create a table"), slice(flatten, parseDate), 19); | |
buildParams(8, callback("Person"), callback("Mention someone"), reversed); | |
buildParams(9, callback("Documents"), callback("Link to a document"), fromIndex); | |
buildParams(7, callback("Link"), callback("Link to a web page"), rgb); | |
buildParams(3, callback("Code [computer software source code]"), callback("Add a code block [computer software source code]"), slice(flatten, setAttributes), 1); | |
buildParams(4, "Spreadsheet (Early Beta)", callback("Create a spreadsheet"), slice(flatten, cancel), 41, function() { | |
return data.Ed.dw; | |
}); | |
buildParams(5, callback("Participant"), callback("Add a menu of participants"), slice(minify, times), 1, oldconfig); | |
buildParams(6, "Text Entry", callback("Create a form field"), slice(minify, memory), 1, oldconfig); | |
buildParams(10, "Action", callback("Create an action button"), slice(minify, dblclick), 1, oldconfig); | |
encodeUriSegment(256, point, function(index, deepDataAndEvents) { | |
/** @type {number} */ | |
index = parseInt(index, 10); | |
if (shouldSkip(index, deepDataAndEvents)) { | |
tabs[index].Pk(deepDataAndEvents); | |
} | |
}); | |
}); | |
var tabs = {}; | |
/** @type {number} */ | |
var portionIndex = 0; | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @param {string} ready | |
* @param {string} s | |
* @param {Function} obj | |
* @param {number} desiredNonCommentArgIndex | |
* @param {Function} b | |
* @return {undefined} | |
*/ | |
var buildParams = function(expectedNumberOfNonCommentArgs, ready, s, obj, desiredNonCommentArgIndex, b) { | |
tabs[expectedNumberOfNonCommentArgs] = { | |
title : ready, | |
info : s, | |
/** @type {Function} */ | |
Pk : obj, | |
Bt : desiredNonCommentArgIndex || 0, | |
Kx : b || function() { | |
return true; | |
}, | |
index : portionIndex++ | |
}; | |
if (8 != expectedNumberOfNonCommentArgs) { | |
if (9 != expectedNumberOfNonCommentArgs) { | |
point.sb.add(ready, expectedNumberOfNonCommentArgs); | |
} | |
} | |
}; | |
/** | |
* @param {number} index | |
* @param {?} deepDataAndEvents | |
* @return {?} | |
*/ | |
var shouldSkip = function(index, deepDataAndEvents) { | |
if (!deepDataAndEvents.hf) { | |
return false; | |
} | |
var tab = tabs[index]; | |
return tab.Bt && !every(deepDataAndEvents.hf, tab.Bt) ? false : tab.Kx(); | |
}; | |
/** | |
* @return {?} | |
*/ | |
var oldconfig = function() { | |
return data.ka.employee; | |
}; | |
/** | |
* @param {(number|string)} name | |
* @return {?} | |
*/ | |
var addIndicator = function(name) { | |
var tab = tabs[name]; | |
return createElement("div", "object-row command-row acc" + name).setData("id", name).append(createElement("div", "icon")).append(createElement("div", "title").ca(tab.title)).append(createElement("div", "info").ca(tab.info)); | |
}; | |
/** | |
* @param {?} callback | |
* @param {Object} ret | |
* @return {undefined} | |
*/ | |
var flatten = function(callback, ret) { | |
finish(function() { | |
var recurring = ret.l; | |
_fn(apply(""), ret); | |
split(recurring); | |
var isArguments = recurring.document.Ma.Og(); | |
if (!getNodeIndex(recurring)) { | |
if (!lookupIterator(recurring)) { | |
complete(xhr(recurring), true); | |
ret.hf.Ua(recurring, time); | |
} | |
} | |
callback(ret.hf).Ua(); | |
isArguments(); | |
}); | |
}; | |
/** | |
* @param {number} n | |
* @return {?} | |
*/ | |
var times = function(n) { | |
n = concat(n, conf.no, null); | |
n.sa.El(1); | |
return n; | |
}; | |
/** | |
* @param {number} classesToRemove | |
* @return {?} | |
*/ | |
var memory = function(classesToRemove) { | |
return concat(classesToRemove, conf.oo, null); | |
}; | |
/** | |
* @param {number} element | |
* @return {?} | |
*/ | |
var dblclick = function(element) { | |
return concat(element, conf.lo, null); | |
}; | |
/** | |
* @param {Node} value | |
* @return {undefined} | |
*/ | |
var reversed = function(value) { | |
dump(value.l, which); | |
}; | |
/** | |
* @param {Node} color | |
* @return {undefined} | |
*/ | |
var fromIndex = function(color) { | |
dump(color.l, ru); | |
}; | |
/** | |
* @param {Object} recurring | |
* @return {undefined} | |
*/ | |
var rgb = function(recurring) { | |
_fn(apply(""), recurring); | |
split(recurring.l); | |
link(); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Search = function() { | |
this.sb = new Position([]); | |
}; | |
/** | |
* @param {?} name | |
* @param {Object} deepDataAndEvents | |
* @param {number} index | |
* @return {?} | |
*/ | |
Search.prototype.$f = function(name, deepDataAndEvents, index) { | |
/** @type {Array} */ | |
var arr = []; | |
if (name.Tc) { | |
arr = this.sb.$f(name.Tc); | |
} else { | |
var chunk; | |
for (chunk in tabs) { | |
arr.push(chunk); | |
} | |
} | |
arr = uniq(arr, function(index) { | |
return shouldSkip(index, deepDataAndEvents); | |
}); | |
return arrayRemove(arr, index, function(index, idx) { | |
return tabs[index].index - tabs[idx].index; | |
}); | |
}; | |
var point = new Search; | |
/** | |
* @return {undefined} | |
*/ | |
var block = function() { | |
Terminal.call(this); | |
this.rg = createElement("div", "ac-web-body").setData("instance-id", configList.length); | |
configList.push(this); | |
}; | |
inherits(block, Terminal); | |
/** @type {Array} */ | |
var configList = []; | |
self = block.prototype; | |
/** @type {function (): ?} */ | |
self.Ir = tmp; | |
/** @type {function (): ?} */ | |
self.gq = tmp; | |
/** @type {function (): ?} */ | |
self.hr = tmp; | |
/** | |
* @param {?} name | |
* @param {Object} recurring | |
* @param {Object} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
self.Hr = function(name, recurring, deepDataAndEvents) { | |
/** @type {Object} */ | |
this.Mb = recurring; | |
/** @type {Object} */ | |
this.Ih = deepDataAndEvents; | |
removeChild(this.rg); | |
name = name.xv(); | |
/** @type {number} */ | |
recurring = 0; | |
for (;recurring < name.length;recurring++) { | |
var codeSegments = name[recurring]; | |
deepDataAndEvents = codeSegments.ib(); | |
codeSegments = codeSegments.Oc(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var key = codeSegments[i]; | |
var node = visit(deepDataAndEvents, key); | |
if (node) { | |
node.setData("mousedown", "no-caret-move").setData("click", "ac-web-select").setData("ac-type", deepDataAndEvents).setData("ac-id", key); | |
if (0 == recurring) { | |
if (0 == i) { | |
node.g("selected"); | |
} | |
} | |
this.rg.append(node); | |
} else { | |
console.warn("Could not create result row for " + key); | |
} | |
} | |
} | |
this.Ir(); | |
install(this); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.reset = function() { | |
/** @type {null} */ | |
this.Ih = this.Mb = null; | |
this.gq(); | |
}; | |
/** | |
* @param {?} name | |
* @param {boolean} recurring | |
* @return {?} | |
*/ | |
self.Xp = function(name, recurring) { | |
if ("keydown" != recurring.type || (!this.Mb || !this.Mb.wa(name))) { | |
return false; | |
} | |
if (27 == recurring.keyCode) { | |
return trimDots(name), true; | |
} | |
if (13 == recurring.keyCode) { | |
if (!recurring.shiftKey) { | |
var t = this.rg.find(".selected"); | |
if (t.empty()) { | |
trimDots(name); | |
} else { | |
this.En(t); | |
} | |
return true; | |
} | |
} else { | |
if (38 == recurring.keyCode || 40 == recurring.keyCode) { | |
a: { | |
/** @type {boolean} */ | |
var child = 38 == recurring.keyCode; | |
t = this.rg.find(".selected"); | |
if (child) { | |
if (child = l(t), !child.empty()) { | |
t.k("selected"); | |
child.g("selected"); | |
} else { | |
if (name.Cb.vv) { | |
trimDots(name); | |
break a; | |
} | |
} | |
} else { | |
child = t.next(); | |
if (!child.empty()) { | |
t.k("selected"); | |
child.g("selected"); | |
} | |
} | |
install(this); | |
} | |
return true; | |
} | |
} | |
return false; | |
}; | |
/** | |
* @param {?} name | |
* @param {boolean} recurring | |
* @return {?} | |
*/ | |
self.Gl = function(name, recurring) { | |
return(13 != recurring.keyCode || recurring.shiftKey) && 27 != recurring.keyCode; | |
}; | |
/** | |
* @param {Object} deepDataAndEvents | |
* @param {string} key | |
* @return {?} | |
*/ | |
var visit = function(deepDataAndEvents, key) { | |
/** | |
* @param {?} o | |
* @return {?} | |
*/ | |
function _each(o) { | |
var optgroup = o.Ka(key); | |
return optgroup ? o.Jd(optgroup) : null; | |
} | |
switch(deepDataAndEvents) { | |
case 2: | |
return _each(data); | |
case 4: | |
; | |
case 128: | |
return _each(params); | |
case 8: | |
return _each(res); | |
case 256: | |
return addIndicator(parseInt(key, 10)); | |
case 512: | |
return createElement("div", "object-row emoji-row").setData("id", key).append(createElement("div", "picture").append(addTest(key))).append(createElement("div", "title").ca(key.replace(/_/g, " "))).append(createElement("div", "info")); | |
case 1024: | |
return _each(model); | |
} | |
return null; | |
}; | |
/** | |
* @param {?} event | |
* @return {undefined} | |
*/ | |
self.En = function(event) { | |
sub(assertEquals(event, "ac-type"), event.data("ac-id"), this.Mb); | |
}; | |
/** | |
* @param {?} block | |
* @return {undefined} | |
*/ | |
var install = function(block) { | |
var overBox = block.rg.ga(); | |
var box = block.rg.find(".selected").ga(); | |
block.hr(box.top <= overBox.top, box.bottom >= overBox.bottom); | |
}; | |
$("click", "ac-web-select", function() { | |
var parent = this.parent(".ac-web-body"); | |
configList[assertEquals(parent, "instance-id")].En(this); | |
return false; | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var from = function() { | |
block.call(this); | |
this.Ta = new build_gameboard("ac-web-bubble", this.rg, new Tween(this), { | |
ev : true, | |
xu : true | |
}); | |
this.Ja = new _object(this); | |
}; | |
inherits(from, block); | |
/** | |
* @return {undefined} | |
*/ | |
from.prototype.Ir = function() { | |
if (!this.Ta.Jb()) { | |
var udataCur = this.Mb.hf ? $$() : item; | |
this.Ta.show(this.Ja, udataCur); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
from.prototype.gq = function() { | |
this.Ta.ua(); | |
}; | |
/** | |
* @param {?} name | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
from.prototype.hr = function(name, recurring) { | |
addClass(this.Ta.i(), "arrow-selected", this.Ta.cl() ? recurring : name); | |
}; | |
/** | |
* @param {?} elements | |
* @return {undefined} | |
*/ | |
from.prototype.En = function(elements) { | |
if (!this.Mb) { | |
call(opts, "autocomplete_result_selected_without_context", { | |
bubble_dom : h(this.Ta.i()), | |
bubble_in_document : !this.Ta.i().parent("article").empty() | |
}); | |
} | |
from.Ga.En.call(this, elements); | |
}; | |
/** | |
* @param {(Element|string)} newProps | |
* @return {undefined} | |
*/ | |
var Tween = function(newProps) { | |
/** @type {(Element|string)} */ | |
this.uf = newProps; | |
}; | |
inherits(Tween, two); | |
/** | |
* @return {?} | |
*/ | |
Tween.prototype.ef = function() { | |
var selector = this.uf.Mb; | |
return selector && selector.hf ? element.ef() : { | |
bd : 0, | |
bf : window.innerHeight | |
}; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
Tween.prototype.No = function() { | |
if (this.uf.Mb) { | |
trimDots(this.uf.Mb); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
Tween.prototype.Os = function() { | |
install(this.uf); | |
}; | |
/** | |
* @param {(Element|string)} el | |
* @return {undefined} | |
*/ | |
var _object = function(el) { | |
/** @type {(Element|string)} */ | |
this.uf = el; | |
}; | |
/** | |
* @return {?} | |
*/ | |
_object.prototype.Jb = function() { | |
/** @type {(Selection|null)} */ | |
var selection = window.getSelection(); | |
return selection && (0 != selection.rangeCount && (selection.isCollapsed && (this.uf.Mb && objEquiv(this.uf.Mb)))) ? true : false; | |
}; | |
/** | |
* @return {?} | |
*/ | |
_object.prototype.ga = function() { | |
var position = objEquiv(this.uf.Mb); | |
/** @type {(Range|null)} */ | |
var rng = document.createRange(); | |
rng.setStart(position.zp.get(), position.prefix.length); | |
rng.setEnd(position.zp.get(), position.prefix.length + 1); | |
/** @type {(ClientRectList|null)} */ | |
position = rng.getClientRects(); | |
position = position[position.length - 1]; | |
position = { | |
top : position.top - 2, | |
bottom : position.bottom + 2, | |
left : position.left, | |
right : position.right | |
}; | |
/** @type {number} */ | |
position.width = position.right - position.left; | |
/** @type {number} */ | |
position.height = position.bottom - position.top; | |
return position; | |
}; | |
/** @type {number} */ | |
var t1 = 10; | |
/** @type {number} */ | |
var attributes = 13; | |
var testSource = { | |
CLASS : 11, | |
TYPE : 9, | |
DELETED : 3, | |
CONTENT : 12, | |
STYLE : t1, | |
STATUS : 15, | |
PARENTS : attributes, | |
ATTRIBUTES : 16, | |
POSITION : 8, | |
ALT_RTML : 14 | |
}; | |
/** @type {Array} */ | |
var head = [11, 9, 3, 12]; | |
/** @type {Array} */ | |
var buf = [t1, 15, attributes, 16, 8]; | |
/** @type {Array} */ | |
var src = [14]; | |
/** @type {Array} */ | |
var buffer = head.concat(buf.concat(src)); | |
/** | |
* @param {?} code | |
* @return {?} | |
*/ | |
var isButton = function(code) { | |
var name; | |
for (name in testSource) { | |
if (testSource[name] == code) { | |
return name; | |
} | |
} | |
return null; | |
}; | |
/** @type {number} */ | |
var EVENT_READY = 0; | |
/** | |
* @param {?} obj | |
* @return {?} | |
*/ | |
var getInstance = function(obj) { | |
if (!(obj instanceof klass)) { | |
obj = new klass([obj]); | |
} | |
return raw(readFile(), obj); | |
}; | |
/** | |
* @param {?} elems | |
* @return {?} | |
*/ | |
var _nodeUID = function(elems) { | |
return(elems = getInstance(elems)) && elems instanceof list ? elems : null; | |
}; | |
/** | |
* @param {Object} obj | |
* @return {?} | |
*/ | |
var getPos = function(obj) { | |
return(obj = getInstance(obj)) && obj instanceof object ? (window.$c0 = obj, window.$cd0 = obj.i().get(), obj) : null; | |
}; | |
/** | |
* @param {?} name | |
* @param {number} type | |
* @return {?} | |
*/ | |
var _save = function(name, type) { | |
var codeSegments = name.bg(); | |
/** @type {Array} */ | |
var eventPath = []; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;++i) { | |
eventPath.push({ | |
ba : codeSegments[i], | |
Nd : type | |
}); | |
} | |
return{ | |
Ei : eventPath, | |
Cz : get_mangled(name, 2) | |
}; | |
}; | |
/** | |
* @param {string} name | |
* @return {undefined} | |
*/ | |
var changeState = function(name) { | |
if (is_identifier(name) && ((name = encodeURIComponent()) && (name.tc() == actual.Aa() && existsSync(name, querySelector())), !onCompletion())) { | |
var targets = jQuery(".thread-document nav"); | |
_isFunction(); | |
var rvar = querySelector(); | |
var modId = _isFunction() || querySelector(); | |
var parentName = onCompletion() || insertAfter(); | |
if (syntax) { | |
addClass(targets.find(".button.pin"), "unavailable", rvar); | |
addClass(targets.find(".button.unpin"), "unavailable", rvar); | |
} else { | |
addClass(targets.find(".button.pin"), "unavailable", parentName); | |
addClass(targets.find(".button.unpin"), "unavailable", parentName); | |
} | |
addClass(targets.find(".button.share"), "unavailable", modId); | |
addClass(targets.find(".button.read-only"), "unavailable", !rvar); | |
addClass(targets.find(".button.figure"), "unavailable", rvar); | |
addClass(jQuery("body"), "read-only", rvar); | |
addClass(jQuery(".thread > .input"), "unavailable", !(onCompletion() || _isFunction() && insertAfter() ? 0 : back(4))); | |
scope.enable(!rvar); | |
if (name) { | |
name.Vc.update(); | |
} | |
} | |
}; | |
/** | |
* @param {Object} name | |
* @return {undefined} | |
*/ | |
var progress = function(name) { | |
var msg = encodeURIComponent(); | |
if (msg) { | |
notify(msg, name, "websocket"); | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
var info = function() { | |
return extend(window.location.pathname, "/_ro"); | |
}; | |
/** | |
* @param {(Array|string)} key | |
* @param {(Array|string)} id | |
* @param {string} data | |
* @param {boolean} head | |
* @return {undefined} | |
*/ | |
var loadData = function(key, id, data, head) { | |
head = head || false; | |
pub(8); | |
if (key) { | |
key = isNaN(key, GameObject); | |
changeState(key); | |
} | |
id = isNaN(id, Background); | |
setData(id.Aa()); | |
data = isNaN(data, ref); | |
update(id, data, head); | |
head = readFile(); | |
existsSync(head, querySelector()); | |
if (!every(head)) { | |
onload(callback("This document has reached the maximum number of sections. You'll be able to edit existing ones, but not create any more."), void 0, 6E4); | |
} | |
pub(channelName); | |
makeRequest(nodeRequest); | |
}; | |
/** | |
* @param {Array} doc | |
* @param {?} optgroup | |
* @param {boolean} e | |
* @return {undefined} | |
*/ | |
var update = function(doc, optgroup, e) { | |
if (!element) { | |
element = new E; | |
} | |
executeSql(false, true, false); | |
getTime(); | |
call(opts, "load_document", { | |
load_document_id : doc.Aa() | |
}); | |
var d = new afterBuild($$(), doc); | |
getOptions(d); | |
requestAnimFrame(d, element); | |
element.tm(d); | |
stringifyPrimitive(d); | |
/** @type {boolean} */ | |
var data = false; | |
var objectProperties = optgroup.bg(); | |
/** @type {number} */ | |
var p = 0; | |
for (;p < objectProperties.length;p++) { | |
var recurring = objectProperties[p]; | |
if (recurring.Yc() == deepDataAndEvents && !recurring.Bb()) { | |
/** @type {boolean} */ | |
data = true; | |
break; | |
} | |
} | |
/** @type {null} */ | |
p = null; | |
if (e) { | |
p = optgroup; | |
optgroup = new ref; | |
} | |
/** @type {boolean} */ | |
objectProperties = false; | |
if (!querySelector()) { | |
if (!data) { | |
/** @type {boolean} */ | |
e = objectProperties = true; | |
data = UTCDate(callback("Untitled")) || new Contact; | |
recurring = { | |
edit : '<control id="temp:aac"></control>', | |
create_a_list : '<control id="temp:aad"></control>' | |
}; | |
recurring = isMobile ? callback("Tap to %(edit)s or %(create_a_list)s [Full Sentence: Tap to edit or create a list]", recurring) : callback("Click to %(edit)s or %(create_a_list)s [Full Sentence: Click to edit or create a list]", recurring); | |
recurring = UTCDate("<i>" + recurring + "\u200b</i>") || new Contact; | |
p = new ref; | |
p.mc((new Transform).ri(1).Ia("temp:aac").mb(11).Za(CLASS(new Contact, nth(ID(new JoinError, callback("edit [Context: Click to *edit* or create a list]")).Fl(11), (new Enemy).ja(0)))).pi(1)); | |
p.mc((new Transform).ri(1).Ia("temp:aad").mb(11).Za(CLASS(new Contact, nth(ID(new JoinError, callback("create a list [Context: Click to edit or *create a list*]")).Fl(11), (new Enemy).ja(5)))).pi(1)); | |
p.mc((new Transform).ri(deepDataAndEvents).Ia("temp:aaa").mb(expectedNumberOfNonCommentArgs).ja(pdataOld).Za(data).He(cb(cancelAnimationFrame(), false)).xb("aaa:temp").pi(1)); | |
p.mc((new Transform).ri(deepDataAndEvents).Ia("temp:aab").mb(expectedNumberOfNonCommentArgs).ja(0).Za(recurring).He(cb(cancelAnimationFrame(), false)).xb("aab:temp").pi(1)); | |
} | |
} | |
/** @type {string} */ | |
recurring = "startup"; | |
/** @type {number} */ | |
data = 2; | |
if (e) { | |
recurring = p.bg(); | |
p = recurring; | |
if (0 != p.length) { | |
/** @type {Array} */ | |
var i = []; | |
var s = {}; | |
/** @type {number} */ | |
var cur = 0; | |
for (;cur < p.length;cur++) { | |
var args = p[cur]; | |
var value = args.Da(); | |
if (!(value in s)) { | |
if (!(9 == args.ib())) { | |
/** @type {boolean} */ | |
s[value] = true; | |
i.push(args); | |
} | |
} | |
} | |
/** @type {Array} */ | |
p = i; | |
i = {}; | |
/** @type {number} */ | |
cur = 0; | |
for (;cur < p.length;cur++) { | |
args = p[cur]; | |
if (s = args.Da()) { | |
value = lex(); | |
args.Ia(value); | |
i[s] = value; | |
} else { | |
console.error("Serious error: no ID on incoming entity from remap"); | |
} | |
} | |
/** @type {number} */ | |
cur = 0; | |
for (;cur < p.length;cur++) { | |
args = p[cur]; | |
args.Da(); | |
s = args.ld(); | |
var k = s.Oc(); | |
var v = prompt(s); | |
s = get_mangled(s, 4); | |
args.pm(); | |
args.qm(); | |
args.Zb(); | |
args.jd(); | |
args.hd(); | |
args.xd(); | |
value = args.je(); | |
args.Ah(); | |
if (args.Yc() == deepDataAndEvents) { | |
/** @type {Array} */ | |
var a = []; | |
/** @type {null} */ | |
var b = null; | |
if (k && 0 < k.length) { | |
/** @type {boolean} */ | |
var Q = true; | |
/** @type {number} */ | |
var h = 0; | |
for (;h < k.length;h++) { | |
if (k[h] in i) { | |
a.push(i[k[h]]); | |
} else { | |
/** @type {boolean} */ | |
Q = false; | |
console.error("Parent ID not found during remap!"); | |
} | |
} | |
if (Q) { | |
if (v) { | |
if (v in i) { | |
b = i[v]; | |
} else { | |
/** @type {boolean} */ | |
Q = false; | |
} | |
} | |
} | |
if (!Q) { | |
/** @type {Array} */ | |
a = []; | |
} | |
} | |
k = new Collection; | |
/** @type {number} */ | |
h = 0; | |
for (;h < a.length;h++) { | |
k.vd(a[h]); | |
} | |
if (b) { | |
v = origFindId(k, 2, b); | |
origFindId(v, 4, s); | |
} | |
args.$a(k); | |
} | |
if (args.Yc() == deepDataAndEvents) { | |
if (args.ib() == expectedNumberOfNonCommentArgs) { | |
s = replaceAll(args.ob().rb().rb(), i, true); | |
args.Za((new Contact).ca((new Image).ca(s))); | |
} else { | |
if (2 == args.ib()) { | |
if (value) { | |
args.si(value); | |
} | |
} | |
} | |
} | |
} | |
} | |
/** @type {number} */ | |
p = 0; | |
for (;p < recurring.length;++p) { | |
cur = recurring[p]; | |
cur.pi(objectProperties ? 1 : 3); | |
optgroup.mc(cur); | |
} | |
data |= 64; | |
/** @type {string} */ | |
recurring = "startup (" + (objectProperties ? "new" : "copy") + " document)"; | |
} | |
optgroup = _save(optgroup, data); | |
d.Vu = optgroup.Cz; | |
optgroup = optgroup.Ei; | |
if (data = !e) { | |
data = forEach("disable-incremental-load"); | |
/** @type {boolean} */ | |
data = void 0 !== data ? !data : true; | |
} | |
if (data) { | |
if (optgroup.length < (isMobile ? valueAccessor() ? 5 : getPropertyValue() ? 7 : 10 : 15)) { | |
/** @type {null} */ | |
data = null; | |
} else { | |
pub(19); | |
/** @type {number} */ | |
data = 0; | |
/** @type {number} */ | |
recurring = 60; | |
/** @type {number} */ | |
p = 0; | |
if (isMobile) { | |
if (valueAccessor()) { | |
/** @type {number} */ | |
p = 16; | |
if (_isSafari) { | |
/** @type {number} */ | |
recurring = 10; | |
} | |
} else { | |
/** @type {number} */ | |
p = getPropertyValue() ? 39 : 65; | |
} | |
} else { | |
/** @type {number} */ | |
data = 350; | |
/** @type {number} */ | |
p = 95; | |
} | |
/** @type {number} */ | |
data = window.innerWidth - data - 2 * p; | |
/** @type {number} */ | |
recurring = window.innerHeight - recurring; | |
recurring = new Range(optgroup, 1.5 * recurring); | |
/** @type {number} */ | |
p = 0; | |
for (;p < recurring.Nl.length && !(recurring.bl >= recurring.to);p++) { | |
if (cur = recurring.Nl[p], args = cur.ba, i = args.ib(), $compile(args.pc())) { | |
detach(cur, recurring); | |
} else { | |
if (3 == i) { | |
args = cur; | |
cur = recurring; | |
fire(cur, args); | |
value = _serialize(cur, args); | |
/** @type {Array} */ | |
args = []; | |
/** @type {Array} */ | |
s = []; | |
/** @type {number} */ | |
i = 0; | |
for (;i < value.length;i++) { | |
k = value[i]; | |
v = k.ba.ib(); | |
if (5 == v) { | |
args.push(k); | |
} else { | |
if (4 == v) { | |
s.push(k); | |
} | |
} | |
} | |
value = style(0).height + 1; | |
/** @type {number} */ | |
i = 0; | |
for (;i < s.length;i++) { | |
k = s[i]; | |
fire(cur, k); | |
v = _serialize(cur, k); | |
/** @type {number} */ | |
k = 0; | |
for (;k < v.length;k++) { | |
if (a = v[k], 1 == a.ba.hc().Zk()) { | |
fire(cur, a, value); | |
break; | |
} | |
} | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < args.length && !(cur.bl >= cur.to);i++) { | |
s = args[i]; | |
v = _serialize(cur, s); | |
/** @type {number} */ | |
k = 0; | |
for (;k < v.length;k++) { | |
fire(cur, v[k]); | |
} | |
fire(cur, s, value); | |
} | |
} else { | |
if (1 == i) { | |
i = cur; | |
/** @type {number} */ | |
cur = data; | |
args = recurring; | |
fire(args, i); | |
i = _serialize(args, i); | |
/** @type {number} */ | |
s = 0; | |
for (;s < i.length && !(args.bl >= args.to);s++) { | |
value = i[s]; | |
k = value.ba; | |
v = k.Qd(); | |
/** @type {number} */ | |
v = 32 * (get_mangled(v, 1) + 1); | |
fire(args, value, getPosition(k, cur - v)); | |
} | |
} else { | |
fire(recurring, cur, getPosition(args, data)); | |
} | |
} | |
} | |
} | |
for (;p < recurring.Nl.length;p++) { | |
cur = recurring.Nl[p]; | |
args = cur.ba; | |
args.ib(); | |
if ($compile(args.pc())) { | |
detach(cur, recurring); | |
} | |
} | |
pub(20); | |
data = recurring; | |
} | |
if (data) { | |
if (data.Vm == data.Ql.length) { | |
/** @type {Array} */ | |
data = [data.Ql]; | |
} else { | |
/** @type {Array} */ | |
recurring = Array(data.Vm); | |
/** @type {number} */ | |
p = 0; | |
/** @type {Array} */ | |
cur = []; | |
/** @type {Array} */ | |
args = Array(data.Ql.length - data.Vm); | |
/** @type {number} */ | |
s = i = 0; | |
for (;s < data.Ql.length;s++) { | |
value = data.Ql[s]; | |
if (value.Um in data.oq) { | |
recurring[p++] = value; | |
} else { | |
if (1 == value.ba.Pt() && value.ba.Lk() <= data.dn) { | |
cur.push(value); | |
} else { | |
args[i++] = value; | |
} | |
} | |
} | |
if (cur.length) { | |
toggleClass(recurring, cur); | |
args.length -= cur.length; | |
} | |
/** @type {Array} */ | |
data = [recurring].concat(parseArgs(args)); | |
} | |
if (1 == data.length) { | |
d.update(optgroup, "incremental skipped"); | |
makeRequest(24); | |
} else { | |
d.rc.Qn++; | |
d.update(data[0], "incremental initial"); | |
optgroup = forEach("incremental-load-pausing"); | |
optgroup = new Vector(d, data, optgroup); | |
icon(d, optgroup); | |
onClick(optgroup); | |
} | |
} else { | |
d.update(optgroup, "incremental skipped"); | |
makeRequest(24); | |
} | |
} else { | |
d.update(optgroup, recurring); | |
makeRequest(24); | |
} | |
if (e) { | |
if (!objectProperties) { | |
if (e = encode(d)) { | |
if (e.l) { | |
if (e.title == e.Ip) { | |
if (hasOwnProperty(e.l)) { | |
if (doc.Lg()) { | |
e.l.Za(doc.Lg()); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
y(d.rc); | |
if (d.Pc()) { | |
finish(bind(d.save, d)); | |
} | |
}; | |
/** | |
* @param {boolean} mayParseLabeledStatementInstead | |
* @param {boolean} recurring | |
* @param {boolean} opt_isDefault | |
* @return {?} | |
*/ | |
var executeSql = function(mayParseLabeledStatementInstead, recurring, opt_isDefault) { | |
mayParseLabeledStatementInstead = mayParseLabeledStatementInstead || false; | |
recurring = recurring || false; | |
opt_isDefault = opt_isDefault || false; | |
nodeModulesPathsSync(); | |
/** @type {boolean} */ | |
var result = false; | |
var value = encodeURIComponent(); | |
call(opts, "unload_document", { | |
unload_document_id : value ? type(value) : null | |
}); | |
if (info() || value && !get_mangled(value.Gc, 12)) { | |
if (value) { | |
value.tf(); | |
} | |
} else { | |
if (value) { | |
if (value.tf() || value.Sg()) { | |
if (value.Sg()) { | |
if (mayParseLabeledStatementInstead) { | |
isError(value); | |
} | |
} | |
value.save(void 0, !recurring); | |
result = value.Pc(); | |
} | |
} | |
} | |
if (!opt_isDefault) { | |
if (value) { | |
/** @type {boolean} */ | |
value.Is = false; | |
if (value.og) { | |
protectedClearTimeout(value.og); | |
/** @type {null} */ | |
value.og = null; | |
} | |
} | |
getOptions(null); | |
removeChild($$()); | |
removeCovers(); | |
} | |
return result; | |
}; | |
append("editor.init", function(subKey, storedFileId, inplace) { | |
loadData(subKey, storedFileId, inplace); | |
}); | |
/** @type {null} */ | |
var element = null; | |
attempt(function() { | |
if (!syntax) { | |
createDom(function() { | |
if (!$broadcast(3E5)) { | |
var value = getCacheKey(); | |
if (value && (searchTerm && value != searchTerm)) { | |
/** | |
* @return {undefined} | |
*/ | |
var optgroup = function() { | |
console.log("Client", value, "out of date; reloading to upgrade to", searchTerm); | |
window.location.reload(true); | |
}; | |
var doc = encodeURIComponent(); | |
if (doc && doc.tf()) { | |
doc.save(optgroup); | |
} else { | |
optgroup(); | |
} | |
} | |
} | |
}, 3E4); | |
} | |
}); | |
/** | |
* @return {?} | |
*/ | |
window.onbeforeunload = function() { | |
if (executeSql(true, false, true)) { | |
return callback("There are unsaved changes. Are you sure you want to leave?"); | |
} | |
}; | |
events.addListener(function() { | |
var redirect_uri = encodeURIComponent(); | |
if (redirect_uri) { | |
redirect_uri.Yp(); | |
} | |
}); | |
$("click", "document-error-retry", function() { | |
readFile().save(); | |
_toString("listen"); | |
return false; | |
}); | |
$("mousedown", "no-caret-move", function() { | |
return false; | |
}); | |
/** @type {boolean} */ | |
var $rootScope = false; | |
/** @type {number} */ | |
var startTime = 0; | |
var wijmo = new b([256, 2, 4, 128], [0]); | |
/** @type {boolean} */ | |
wijmo.ng = true; | |
/** | |
* @param {?} name | |
* @return {?} | |
*/ | |
wijmo.hl = function(name) { | |
return isMobile && name.Tc ? 10 : 4 + (name.Tc ? 0 : 2); | |
}; | |
var which = new b([2], [0]); | |
/** @type {boolean} */ | |
which.ng = true; | |
/** | |
* @return {?} | |
*/ | |
which.hl = function() { | |
return isMobile ? 10 : 4; | |
}; | |
var ru = new b([4, 128], [0]); | |
/** @type {boolean} */ | |
ru.ng = true; | |
/** | |
* @return {?} | |
*/ | |
ru.hl = function() { | |
return isMobile ? 10 : 4; | |
}; | |
/** | |
* @param {string} model | |
* @param {number} exports | |
* @param {?} el | |
* @return {undefined} | |
*/ | |
var Observable = function(model, exports, el) { | |
this.te = new build_gameboard(model, exports, this, { | |
lp : true | |
}); | |
this.te.i().g("selection-inspector"); | |
this.anchor = el; | |
attempt(bind(function() { | |
if (this.isEnabled()) { | |
events.addListener(bind(this.update, this)); | |
} | |
}, this)); | |
}; | |
inherits(Observable, two); | |
self = Observable.prototype; | |
/** @type {function (): ?} */ | |
self.update = tmp; | |
/** | |
* @return {?} | |
*/ | |
self.isEnabled = function() { | |
return!isMobile || isContentHeight; | |
}; | |
/** | |
* @param {Array} self | |
* @return {undefined} | |
*/ | |
var unlock = function(self) { | |
if (!self.te.Jb()) { | |
self.te.show(self.anchor, readFile().la()); | |
if (getNativeElement()) { | |
if (self = readFile().wu) { | |
console.log("Time from selection to actually showing selector: ", resetQueues() - self, " ms"); | |
} | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.show = function() { | |
if (_isSafari || isContentHeight) { | |
unlock(this); | |
} else { | |
if (this.Qj) { | |
protectedClearTimeout(this.Qj); | |
} | |
this.Qj = push(bind(function() { | |
delete this.Qj; | |
unlock(this); | |
}, this), 300); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.ua = function() { | |
if (this.Qj) { | |
protectedClearTimeout(this.Qj); | |
delete this.Qj; | |
} | |
this.te.ua(); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.Jb = function() { | |
return this.te.Jb(); | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.ef = function() { | |
return element.ef(); | |
}; | |
/** | |
* @param {boolean} opt_ignored | |
* @param {number} options | |
* @param {boolean} vx | |
* @return {undefined} | |
*/ | |
var grid = function(opt_ignored, options, vx) { | |
/** @type {Array} */ | |
this.Ys = []; | |
/** @type {Array} */ | |
this.$b = opt_ignored ? [[getDimensions(setSize(runCallbacks(val(newObj.ya(), 0), 0), 0), 0)]] : [[]]; | |
this.ea = opt_ignored ? this.$b[0][0] : new klass([]); | |
this.Ou = opt_ignored || false; | |
this.gt = options || null; | |
this.vx = vx || false; | |
/** @type {boolean} */ | |
this.es = false; | |
if (vx) { | |
this.ea.setData("mousewheel", "document-cover"); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
grid.prototype.show = function() { | |
item.append(this.ea); | |
if (exec(this.Ye)) { | |
protectedClearTimeout(this.Ye); | |
delete this.Ye; | |
} | |
delete this.rv; | |
if (!exec(this.ne)) { | |
this.ne = finish(bind(function() { | |
this.ea.g("visible"); | |
delete this.ne; | |
}, this)); | |
} | |
/** @type {boolean} */ | |
this.es = true; | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
grid.prototype.ua = function() { | |
if (exec(this.ne)) { | |
getById(this.ne); | |
delete this.ne; | |
} | |
if (!exec(this.Ye)) { | |
if (this.ea.j("visible")) { | |
this.ea.k("visible"); | |
this.Ye = push(bind(function() { | |
this.ea.remove(); | |
delete this.Ye; | |
}, this), 250); | |
} else { | |
this.ea.remove(); | |
} | |
/** @type {boolean} */ | |
this.es = false; | |
/** @type {boolean} */ | |
this.rv = true; | |
} | |
}; | |
/** | |
* @param {?} self | |
* @param {Array} comparisons | |
* @return {undefined} | |
*/ | |
var tick = function(self, comparisons) { | |
if (!self.rv) { | |
/** @type {Array} */ | |
var optgroup = [0, 1E5]; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < comparisons.length;i++) { | |
var t = comparisons[i]; | |
var tagName = t.left || 0; | |
if (-1 == optgroup.indexOf(tagName)) { | |
optgroup.push(tagName); | |
} | |
tagName = t.right || 1E5; | |
if (-1 == optgroup.indexOf(tagName)) { | |
optgroup.push(tagName); | |
} | |
} | |
optgroup.sort(function(far, near) { | |
return far - near; | |
}); | |
/** @type {Array.<?>} */ | |
optgroup = optgroup.slice(1, optgroup.length - 1); | |
/** @type {boolean} */ | |
tagName = false; | |
var _ = new klass([]); | |
if (String(optgroup) != String(self.Ys)) { | |
/** @type {boolean} */ | |
tagName = true; | |
/** @type {number} */ | |
i = 0; | |
for (;i < self.$b.length;i++) { | |
t = self.$b[i]; | |
/** @type {number} */ | |
var j = 0; | |
for (;j < t.length;j++) { | |
_ = _.concat(t[j]); | |
} | |
} | |
/** @type {Array} */ | |
self.$b = []; | |
/** @type {number} */ | |
i = 0; | |
for (;i <= optgroup.length;i++) { | |
self.$b.push([]); | |
} | |
/** @type {Array.<?>} */ | |
self.Ys = optgroup; | |
} | |
/** @type {Array} */ | |
var keys = []; | |
/** @type {number} */ | |
i = 0; | |
for (;i <= optgroup.length;i++) { | |
keys.push([]); | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < comparisons.length;i++) { | |
t = comparisons[i]; | |
if (t.left) { | |
keys[optgroup.indexOf(t.left) + 1].push(t); | |
} else { | |
keys[0].push(t); | |
} | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < keys.length;i++) { | |
t = keys[i]; | |
var n = t.length + (self.Ou ? 1 : 0); | |
if (n < self.$b[i].length) { | |
/** @type {boolean} */ | |
tagName = true; | |
j = n; | |
for (;j < self.$b[i].length;j++) { | |
_ = _.concat(self.$b[i][j]); | |
} | |
self.$b[i] = self.$b[i].slice(0, t.length + 1); | |
} | |
j = self.$b[i].length; | |
for (;j < n;j++) { | |
/** @type {boolean} */ | |
tagName = true; | |
var p = newObj.ya(); | |
if (self.gt) { | |
p.g(self.gt); | |
} | |
if (self.vx) { | |
p.setData("mousewheel", "document-cover"); | |
} | |
setSize(p, 0 == i ? 0 : optgroup[i - 1]); | |
if (i == keys.length - 1) { | |
getDimensions(p, 0); | |
} else { | |
if (0 == i) { | |
p.gb(optgroup[i]); | |
} else { | |
p.gb(optgroup[i] - optgroup[i - 1]); | |
} | |
} | |
self.$b[i].push(p); | |
} | |
if (self.Ou) { | |
val(self.$b[i][0], 0); | |
/** @type {number} */ | |
j = 0; | |
for (;j < t.length;j++) { | |
n = t[j]; | |
css(self.$b[i][j], "bottom"); | |
self.$b[i][j].Sa(Math.max(0, n.top - (0 == j ? 0 : t[j - 1].bottom))); | |
val(self.$b[i][j + 1], n.bottom); | |
} | |
css(self.$b[i][t.length], "height"); | |
runCallbacks(self.$b[i][t.length], 0); | |
} else { | |
/** @type {number} */ | |
j = 0; | |
for (;j < t.length;j++) { | |
p = t[j]; | |
val(self.$b[i][j], p.top); | |
self.$b[i][j].Sa(p.bottom - p.top); | |
} | |
} | |
} | |
if (tagName) { | |
optgroup = new klass([]); | |
/** @type {number} */ | |
i = 0; | |
for (;i < self.$b.length;i++) { | |
t = self.$b[i]; | |
/** @type {number} */ | |
j = 0; | |
for (;j < t.length;j++) { | |
optgroup = optgroup.concat(self.$b[i][j]); | |
} | |
} | |
self.ea = optgroup; | |
item.append(self.ea); | |
if (self.es) { | |
self.ne = finish(bind(function() { | |
this.ea.g("visible"); | |
_.k("visible"); | |
delete this.ne; | |
}, self)); | |
} | |
push(bind(function() { | |
_.remove(); | |
}, self), 250); | |
} | |
} | |
}; | |
var newObj = createElement("div", "document-cover"); | |
$("mousewheel", "document-cover", function(e) { | |
var redirect_uri = encodeURIComponent(); | |
if (!redirect_uri) { | |
return true; | |
} | |
var basePrototype = redirect_uri.la(); | |
if (e.clientX > basePrototype.ga().left) { | |
getOwnPropertyDescriptor(basePrototype, redirect_uri.la().scrollTop() - e.wheelDeltaY); | |
} | |
return false; | |
}); | |
var $p1; | |
/** | |
* @return {?} | |
*/ | |
var getNext = function() { | |
var o = encodeURIComponent(); | |
if (!o) { | |
return null; | |
} | |
var dest = _clone(); | |
return dest ? dest : (dest = insert()) ? (onLoad(o.Vc), dest) : (o = o.ta) && core_isArraylike(o) ? parseFile(o) : null; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var urlParse = function() { | |
var subject = encodeURIComponent(); | |
if (!subject || _clone()) { | |
return false; | |
} | |
if (containsMatch()) { | |
return true; | |
} | |
subject = subject.ta; | |
return null != subject && core_isArraylike(subject); | |
}; | |
/** | |
* @param {Object} a | |
* @return {?} | |
*/ | |
var urlappend = function(a) { | |
return(a = a.l()) && !isArguments(a) ? a : null; | |
}; | |
/** | |
* @param {Object} s | |
* @return {?} | |
*/ | |
var matchObject = function(s) { | |
var resultItems = s.o().zj(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < resultItems.length;i++) { | |
var result = resultItems[i]; | |
if (result.type() == conf.qe && !markMatch(result.sa)) { | |
return result; | |
} | |
} | |
s = array(s.document.Ze, s); | |
if (!s.length) { | |
return null; | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < s.length;i++) { | |
if (result = s[i], !markMatch(result.sa)) { | |
return result; | |
} | |
} | |
return null; | |
}; | |
/** | |
* @param {?} d | |
* @return {?} | |
*/ | |
var objectToString = function(d) { | |
if (!d) { | |
return null; | |
} | |
var temp = urlappend(d); | |
return temp ? splice(d.sa) ? temp : d : null; | |
}; | |
/** | |
* @param {?} a | |
* @return {?} | |
*/ | |
var matchArray = function(a) { | |
if (!core_isArraylike(a)) { | |
return false; | |
} | |
a = array(a.document.Ze, a); | |
if (!a.length) { | |
return true; | |
} | |
/** @type {boolean} */ | |
var result = true; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < a.length;i++) { | |
var next = a[i]; | |
if (!markMatch(next.sa)) { | |
if (dequeue(next.id())) { | |
/** @type {boolean} */ | |
result = false; | |
} else { | |
return true; | |
} | |
} | |
} | |
return result; | |
}; | |
/** | |
* @param {Object} obj | |
* @return {?} | |
*/ | |
var core_isArraylike = function(obj) { | |
var i = obj.o(); | |
if (!i.ec() && !i.Qg) { | |
return true; | |
} | |
obj = obj.o().zj(); | |
/** @type {number} */ | |
i = 0; | |
for (;i < obj.length;i++) { | |
var result = obj[i]; | |
if (result.type() == conf.qe && !markMatch(result.sa)) { | |
return false; | |
} | |
} | |
return true; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var _clone = function() { | |
var codeSegments = encodeURIComponent(); | |
/** @type {(Selection|null)} */ | |
var selection = window.getSelection(); | |
var i = getOperationalRange(2); | |
if (codeSegments && (selection && i)) { | |
var node = jQuery(selection.getRangeAt(0).commonAncestorContainer); | |
var result = hook(node); | |
if (result && (result.type() == conf.qe && !markMatch(result.sa))) { | |
return result; | |
} | |
/** @type {null} */ | |
result = null; | |
expect(node.find("annotation.c" + conf.qe + ":not(.hidden)"), function() { | |
if (selection.containsNode(this, true)) { | |
return result = getPos(this), false; | |
} | |
}); | |
if (result) { | |
return result; | |
} | |
if (core_isArraylike(i)) { | |
codeSegments = array(codeSegments.Ze, i); | |
/** @type {number} */ | |
i = 0; | |
for (;i < codeSegments.length;i++) { | |
if (node = codeSegments[i], !markMatch(node.sa)) { | |
return node; | |
} | |
} | |
} | |
return null; | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var removeNode = function() { | |
/** @type {(Selection|null)} */ | |
var selection = window.getSelection(); | |
var self = jQuery(selection.getRangeAt(0).commonAncestorContainer); | |
var that = hook(self); | |
if (that) { | |
if (that.type() == conf.qe) { | |
if (markMatch(that.sa)) { | |
that.sa.remove(); | |
} | |
} | |
} | |
expect(self.find("annotation.c" + conf.qe + ".hidden"), function() { | |
if (selection.containsNode(this, true)) { | |
that = getPos(this); | |
that.sa.remove(); | |
} | |
}); | |
}; | |
/** | |
* @param {?} el | |
* @param {?} s | |
* @return {undefined} | |
*/ | |
var _attr = function(el, s) { | |
var codeSegments = array(el.Ze, s); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
if (markMatch(codeSegments[i].sa)) { | |
codeSegments[i].sa.remove(); | |
} | |
} | |
}; | |
/** | |
* @param {?} e | |
* @return {?} | |
*/ | |
var parseFile = function(e) { | |
var n = readFile(); | |
var resultItems = e.o().zj(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < resultItems.length;i++) { | |
var result = resultItems[i]; | |
if (result.type() == conf.qe) { | |
if (markMatch(result.sa)) { | |
result.sa.remove(); | |
} | |
} | |
} | |
_attr(n, e); | |
result = concat(n, conf.qe, null); | |
n = result.sa; | |
resultItems = data.ka.name; | |
n.Fh.In(data.ka.id).Hn(resultItems); | |
title(n); | |
onEnd(n, e); | |
return result; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var insert = function() { | |
if (!containsMatch()) { | |
return null; | |
} | |
var input = readFile(); | |
var selection = end(); | |
var options = selection.fb; | |
options.o().normalize(); | |
var range = mixIn(selection, options); | |
removeNode(); | |
_attr(input, selection.fb); | |
input = concat(input, conf.qe, null); | |
if (!input) { | |
return console.error("Control could not be created"), null; | |
} | |
selection = input.sa; | |
var ret = data.ka.name; | |
selection.Fh.In(data.ka.id).Hn(ret); | |
title(selection); | |
var sel; | |
/** @type {boolean} */ | |
sel = sel || false; | |
/** @type {(Selection|null)} */ | |
selection = window.getSelection(); | |
/** @type {(Range|null)} */ | |
selection = selection.rangeCount ? selection.getRangeAt(0) : document.createRange(); | |
if (range.jh) { | |
setSelectionAt(range.jh, true, sel, selection); | |
} | |
if (range.Dg) { | |
setSelectionAt(range.Dg, false, sel, selection); | |
} | |
/** @type {(Range|null)} */ | |
range = selection; | |
try { | |
range.surroundContents(input.i().get()); | |
/** @type {(Range|null)} */ | |
range = document.createRange(); | |
range.selectNodeContents(input.i().get()); | |
window.getSelection().removeAllRanges(); | |
window.getSelection().addRange(range); | |
} catch (g) { | |
/** @type {(DocumentFragment|null)} */ | |
sel = range.extractContents(); | |
input.i().get().appendChild(sel); | |
range.insertNode(input.i().get()); | |
} | |
options.o().normalize(); | |
options.Ra([12]); | |
if (isContentHeight) { | |
getRange(); | |
} | |
return input; | |
}; | |
/** | |
* @return {?} | |
*/ | |
var containsMatch = function() { | |
var resultItems = encodeURIComponent(); | |
if (!resultItems || wrapError(resultItems)) { | |
return false; | |
} | |
var i = end(); | |
if (!i || (i.isCollapsed || i.fb != i.wb)) { | |
return false; | |
} | |
resultItems = array(resultItems.Ze, i.fb); | |
/** @type {number} */ | |
i = 0; | |
for (;i < resultItems.length;i++) { | |
if (!markMatch(resultItems[i].sa)) { | |
return false; | |
} | |
} | |
return true; | |
}; | |
/** | |
* @param {?} type | |
* @return {?} | |
*/ | |
var dequeue = function(type) { | |
var codeSegments = encodeURIComponent(); | |
if (!codeSegments) { | |
return 0; | |
} | |
codeSegments = codeSegments.Jm().gn(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;i++) { | |
var name = codeSegments[i]; | |
if (func(name, 1) == type) { | |
return get_mangled(name, 2); | |
} | |
} | |
return 0; | |
}; | |
/** | |
* @param {Object} e | |
* @return {?} | |
*/ | |
var handleMouseMove = function(e) { | |
if (markMatch(e.sa) || syntax && !dequeue(e.id())) { | |
return false; | |
} | |
var currentDate = e.document.ta; | |
return currentDate && e.l() == currentDate ? false : true; | |
}; | |
/** | |
* @param {Object} e | |
* @param {?} event | |
* @return {undefined} | |
*/ | |
var onMouseUp = function(e, event) { | |
if (handleMouseMove(e)) { | |
var me = e.i(); | |
if (!syntax) { | |
me.g("popover-one-shot-anchor"); | |
} | |
removeEventListener(e.id()); | |
if (syntax) { | |
me.setData("ignore-next-click", "1"); | |
stopEvent(event); | |
} | |
} | |
}; | |
/** | |
* @param {?} optgroup | |
* @param {boolean} recurring | |
* @param {boolean} deepDataAndEvents | |
* @return {undefined} | |
*/ | |
var removeEventListener = function(optgroup, recurring, deepDataAndEvents) { | |
var elem = readFile(); | |
var queue = pow(elem, optgroup); | |
if (!queue) { | |
setStyles(elem); | |
queue = pow(elem, optgroup); | |
} | |
if (!queue) { | |
throw Error("Cannot open unknown annotation ID '" + optgroup + "'"); | |
} | |
if (scrollTop()) { | |
element.ol(optgroup, recurring, deepDataAndEvents); | |
} | |
}; | |
/** | |
* @param {?} node | |
* @return {undefined} | |
*/ | |
var updateNodeHtml = function(node) { | |
node.find(".message-input.dirty").k("dirty"); | |
close(node); | |
}; | |
/** | |
* @param {string} e | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
var changePage = function(e, recurring) { | |
if ("string" == typeof e) { | |
e = pow(readFile(), e); | |
} | |
if (!($p1 == e && recurring)) { | |
$p1 = recurring ? e : null; | |
posFromMouse(e, "tab-opened", recurring); | |
e.document.Vc.update(); | |
} | |
}; | |
/** | |
* @param {Object} e | |
* @param {string} text | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
var posFromMouse = function(e, text, recurring) { | |
if ("string" == typeof e) { | |
e = pow(readFile(), e); | |
} | |
addClass(e.i(), text, recurring); | |
if (e = urlappend(e)) { | |
addClass(e.i(), "annotation-" + text, recurring); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var dialog = function() { | |
/** @type {Array} */ | |
this.Gh = []; | |
}; | |
/** | |
* @param {?} type | |
* @return {undefined} | |
*/ | |
dialog.prototype.add = function(type) { | |
if (!value(this.Gh, type)) { | |
this.Gh.push(type); | |
} | |
}; | |
/** | |
* @param {?} name | |
* @return {undefined} | |
*/ | |
dialog.prototype.remove = function(name) { | |
removeAll(this.Gh, name); | |
}; | |
/** | |
* @param {?} ar | |
* @param {?} arg | |
* @return {?} | |
*/ | |
var array = function(ar, arg) { | |
/** @type {Array} */ | |
var assigns = []; | |
/** @type {number} */ | |
var conditionIndex = 0; | |
for (;conditionIndex < ar.Gh.length;conditionIndex++) { | |
var vvar = ar.Gh[conditionIndex]; | |
if (value(vvar.sa.le, arg)) { | |
assigns.push(vvar); | |
} | |
} | |
return assigns; | |
}; | |
/** | |
* @param {?} store | |
* @return {undefined} | |
*/ | |
var contents = function(store) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < store.Gh.length;i++) { | |
var self = store.Gh[i].sa; | |
var activeClassName = self.control.document; | |
/** @type {Array} */ | |
var assigns = []; | |
/** @type {number} */ | |
var c = 0; | |
for (;c < self.Yg.length;c++) { | |
var vvar = self.Yg[c]; | |
var failuresLink = width(activeClassName, vvar); | |
if (failuresLink) { | |
onEnd(self, failuresLink); | |
} else { | |
assigns.push(vvar); | |
} | |
} | |
/** @type {Array} */ | |
self.Yg = assigns; | |
} | |
}; | |
$("click", "annotation-tab", function(timer) { | |
var data = this.data("thread-id"); | |
var target = this.data("id"); | |
/** @type {boolean} */ | |
var recurring = "1" == this.data("focus-input") || 0 == dequeue(target); | |
if (!jQuery(timer.target).parent(".full-text-search-results").empty()) { | |
submitHandler(); | |
} | |
if (timer = destination) { | |
timer.close(); | |
} | |
jQuery(".thread"); | |
if (data && data != html()) { | |
onclick(data, void 0, void 0, function() { | |
removeEventListener(target, recurring); | |
}); | |
} else { | |
removeEventListener(target, recurring); | |
} | |
return false; | |
}); | |
attempt(function() { | |
getEnumerableProperties(handleEvent(67, indents | backgroundLayerMask, function() { | |
var pluginMap = getNext(); | |
if (!pluginMap) { | |
return false; | |
} | |
removeEventListener(pluginMap.id(), true); | |
return true; | |
}), 2, callback("Add a comment")); | |
/** @type {null} */ | |
var dest = null; | |
/** @type {boolean} */ | |
var old = true; | |
events.addListener(function() { | |
if (syntax) { | |
var mat = _clone(); | |
/** @type {boolean} */ | |
var expr = window.getSelection().isCollapsed; | |
/** @type {boolean} */ | |
var e = mat != dest || expr != old; | |
dest = mat; | |
/** @type {boolean} */ | |
old = expr; | |
if (e) { | |
element.Lh(); | |
} | |
} else { | |
if (encodeURIComponent()) { | |
encodeURIComponent().Vc.Yp(); | |
} | |
} | |
}); | |
}); | |
/** | |
* @param {?} options | |
* @return {undefined} | |
*/ | |
var Store = function(options) { | |
this.pa = options; | |
this.it = {}; | |
this.ge = {}; | |
/** @type {null} */ | |
this.Rb = this.Ac = this.ia = null; | |
/** @type {number} */ | |
this.rm = Number.MAX_VALUE; | |
}; | |
self = Store.prototype; | |
/** | |
* @return {undefined} | |
*/ | |
self.update = function() { | |
var a = {}; | |
if (scrollTop()) { | |
var obj = this.pa.Jm().gn(); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < obj.length;i++) { | |
var x = get_mangled(obj[i], 2); | |
if (x) { | |
var y = get_mangled(obj[i], 1); | |
var result = pow(this.pa, y); | |
if (result) { | |
if (!markMatch(result.sa)) { | |
a[y] = x; | |
} | |
} | |
} | |
} | |
obj = $p1; | |
if (!!obj) { | |
if (!(obj.document != this.pa)) { | |
if (!(obj.id() in a)) { | |
/** @type {number} */ | |
a[obj.id()] = 0; | |
} | |
} | |
} | |
} | |
if (!isObject(a, this.it)) { | |
this.it = a; | |
obj = {}; | |
var key; | |
for (key in this.ge) { | |
/** @type {number} */ | |
obj[key] = 1; | |
} | |
/** @type {boolean} */ | |
x = false; | |
for (key in a) { | |
i = a[key]; | |
y = pow(this.pa, key); | |
if (key in obj) { | |
delete obj[key]; | |
} else { | |
x = createElement("editorui", "annotation-gutter-icon popover-anchor").setData("id", key).setData("mouseover", "annotation-gutter-icon").setData("mouseout", "annotation-gutter-icon"); | |
if (isMobile) { | |
x.setAttribute("onmousedown", "").setData("touchstart", "fastclick").setData("fastclick", "annotation-tab"); | |
} else { | |
x.setData("click", "annotation-tab"); | |
} | |
ok(x, false); | |
this.pa.la().append(x); | |
this.ge[key] = x; | |
/** @type {boolean} */ | |
x = true; | |
} | |
result = i; | |
var code; | |
code = y.fg(); | |
code = func(code, 7); | |
result = { | |
count : result, | |
name : code.Dt() | |
}; | |
y = splice(y.sa) ? 0 == i ? callback("Add a comment") : 1 == i ? callback("1 comment") : callback("%(count)s comments", result) : 0 == i ? callback("Highlight by %(name)s", result) : 1 == i ? callback("1 comment on a highlight by %(name)s", result) : callback("%(count)s comments on a highlight by %(name)s", result); | |
addClass(this.ge[key].ca(i || ""), "numbered", 0 < i).setAttribute("title", y); | |
} | |
for (key in obj) { | |
this.ge[key].remove(); | |
delete this.ge[key]; | |
} | |
this.hg(x); | |
a = this.pa; | |
if (isMobile) { | |
key = a.Jm().gn(); | |
/** @type {number} */ | |
obj = 0; | |
for (;obj < key.length;obj++) { | |
x = get_mangled(key[obj], 1); | |
i = get_mangled(key[obj], 2); | |
if (x = pow(a, x)) { | |
addClass(x.i(), "tappable", 0 < i); | |
} | |
} | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.Yp = function() { | |
if (this.ia) { | |
if (this.ia.j("active")) { | |
if (now() > this.rm) { | |
if (getOperationalRange(2)) { | |
close(this.ia); | |
/** @type {number} */ | |
this.rm = Number.MAX_VALUE; | |
} | |
} | |
} | |
} | |
}; | |
/** | |
* @param {?} data | |
* @return {undefined} | |
*/ | |
var onLoad = function(data) { | |
if (!syntax) { | |
data.ta = data.pa.ta; | |
var newX = exec(data.Pf); | |
var x = null != data.ta && matchArray(data.ta); | |
if (x != newX) { | |
if (x) { | |
data.Pf = createElement("editorui", "annotation-gutter-icon popover-anchor").setData("click", "annotation-focused-section-highlight").setData("mousedown", "no-caret-move").setAttribute("title", callback("Add a comment")); | |
ok(data.Pf, false); | |
data.pa.la().append(data.Pf); | |
} else { | |
data.Pf.remove(); | |
delete data.Pf; | |
} | |
data.hg(x); | |
} | |
} | |
}; | |
/** | |
* @param {?} obj | |
* @param {string} e | |
* @param {boolean} recurring | |
* @return {undefined} | |
*/ | |
var done = function(obj, e, recurring) { | |
if (obj.ia && obj.ia.j("active")) { | |
updateNodeHtml(obj.ia); | |
if (obj.Ac && obj.Ac.id() == e) { | |
return; | |
} | |
/** @type {number} */ | |
obj.rm = Number.MAX_VALUE; | |
} | |
if (obj.Ac) { | |
changePage(obj.Ac, false); | |
} | |
obj.Ac = pow(obj.pa, e); | |
var dataAndEvents = obj.Ac.sa; | |
changePage(e, true); | |
var msg = urlappend(obj.Ac); | |
if (msg) { | |
var codeSegments = msg.children(); | |
if (codeSegments.length) { | |
show(codeSegments[0]); | |
} else { | |
show(msg); | |
} | |
if (!syntax) { | |
msg.i().g("popover-anchor"); | |
} | |
} | |
obj.ia = addClass(addClass(addClass(jQuery(".annotation-tab[data-id=template]").ya().setData("id", e).g("visible"), "annotation-hidden", markMatch(dataAndEvents)), "section-highlight", splice(dataAndEvents)), "inline-highlight", !splice(dataAndEvents)); | |
if (dataAndEvents.kc()) { | |
obj.ia.g("newly-created").find(".button.remove").ca(splice(dataAndEvents) ? callback("Cancel") : callback("Remove")); | |
} | |
var stringBuffer = obj.ia.find(".messages"); | |
if (null == msg) { | |
stringBuffer.append(createElement("div", "message detached").setData("sort", "0").append(createElement("div", "info").ca(callback("These comments refer to a section of the document that has been deleted.")))); | |
} | |
addClass(obj.ia.find(".input"), "unavailable", !prepend()); | |
addClass(obj.ia.find(".button.remove, .button.restore"), "unavailable", querySelector()); | |
obj.pa.Lb(); | |
obj.Rb = new Text; | |
obj.Rb.show(); | |
item.append(obj.ia); | |
obj.hg(false); | |
finish(bind(function() { | |
this.ia.g("active"); | |
if (recurring) { | |
var $select = this.ia.find(".message-input .text"); | |
if (!$select.get().firstChild) { | |
$select.append(apply("")); | |
} | |
$select.focus(); | |
} | |
}, obj)); | |
if (!obj.Ac.kc()) { | |
var pdataCur = transform(24); | |
stringBuffer.append(pdataCur); | |
next("/-/annotation-tab", { | |
thread_id : obj.pa.tc(), | |
annotation_id : e, | |
include_snippet : null == msg, | |
secret_path : setAttribute() | |
}, bind(function(some) { | |
if (this.ia) { | |
if (this.ia.j("active")) { | |
pdataCur.remove(); | |
appendTo(stringBuffer.append(successCallback(get(some.html))), 0); | |
} | |
} | |
}, obj), bind(function() { | |
pdataCur.remove(); | |
stringBuffer.append(createElement("div", "error").ca(callback("Could not load the comments for this highlight."))); | |
return false; | |
}, obj)); | |
} | |
}; | |
/** | |
* @param {?} dataAndEvents | |
* @return {undefined} | |
*/ | |
self.Us = function(dataAndEvents) { | |
this.Rb.ua(); | |
if (this.ia) { | |
if (this.Ac.id() == dataAndEvents) { | |
changePage(this.Ac, false); | |
} | |
} | |
/** @type {null} */ | |
this.ia = null; | |
}; | |
/** | |
* @param {boolean} value | |
* @return {undefined} | |
*/ | |
var writeWord = function(value) { | |
var vec = readFile().Vc; | |
vec.Ac.sa.Cl(value); | |
vec.update(); | |
}; | |
/** | |
* @param {boolean} v0 | |
* @return {undefined} | |
*/ | |
self.hg = function(v0) { | |
var node = exec(this.Pf); | |
if (!node) { | |
var opt_includeNode; | |
for (opt_includeNode in this.ge) { | |
/** @type {boolean} */ | |
node = true; | |
break; | |
} | |
} | |
if (!node) { | |
/** @type {boolean} */ | |
node = null != this.ia; | |
} | |
opt_includeNode = exec(this.lc); | |
if (node && !opt_includeNode) { | |
/** @type {number} */ | |
this.lc = 1337; | |
this.lc = equals(bind(this.We, this), bind(this.Je, this)); | |
} else { | |
if (!node) { | |
if (opt_includeNode) { | |
$timeout(this.lc); | |
delete this.lc; | |
} | |
} | |
} | |
if (node) { | |
if (opt_includeNode) { | |
if (v0) { | |
isCanvas(this.lc); | |
} | |
} | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.We = function() { | |
/** | |
* @param {Object} frame | |
* @return {?} | |
*/ | |
function callback(frame) { | |
if (frame) { | |
var tagJSON = frame.i().ga(); | |
if (tagJSON.height && tagJSON.width) { | |
/** @type {number} */ | |
var shift = 0; | |
if (frame instanceof list) { | |
switch(frame.xa()) { | |
case pdataOld: | |
/** @type {number} */ | |
shift = 3; | |
break; | |
case udataCur: | |
/** @type {number} */ | |
shift = -3; | |
} | |
} | |
return tagJSON.top - offset + shift; | |
} | |
} | |
return-1E5; | |
} | |
/** | |
* @return {undefined} | |
*/ | |
function buildDeck() { | |
/** @type {string} */ | |
s.cm = "right"; | |
/** @type {number} */ | |
var left = Math.round(x - size / 2); | |
/** @type {number} */ | |
var width = 0; | |
if (left < right) { | |
/** @type {number} */ | |
width = right - left; | |
} else { | |
if (left + size > winH) { | |
/** @type {number} */ | |
width = winH - (left + size); | |
} | |
} | |
/** @type {number} */ | |
var b = toggleWidth - handleWidth; | |
/** @type {number} */ | |
var a = Math.round(toggleWidth / 2 - handleWidth / 2 + 9 - width); | |
if (28 > a) { | |
width -= 28 - a; | |
/** @type {number} */ | |
a = 28; | |
} else { | |
if (a > b) { | |
width += a - b; | |
/** @type {number} */ | |
a = b; | |
} | |
} | |
/** @type {number} */ | |
s.Tj = left + width; | |
/** @type {number} */ | |
s.lA = a; | |
} | |
/** | |
* @return {undefined} | |
*/ | |
function _top() { | |
/** @type {number} */ | |
var left = x - size; | |
if (left < right) { | |
/** @type {string} */ | |
s.cm = "top"; | |
left = x + 24; | |
} else { | |
/** @type {string} */ | |
s.cm = "bottom"; | |
} | |
/** @type {number} */ | |
s.Tj = left; | |
} | |
var data = this.pa.la(); | |
/** @type {number} */ | |
var offset = data.ga().top - data.scrollTop(); | |
var s = { | |
ft : {}, | |
et : {} | |
}; | |
var j; | |
for (j in this.ge) { | |
var d = pow(this.pa, j); | |
data = objectToString(d); | |
var x = callback(data); | |
s.ft[j] = x; | |
if (0 < x) { | |
if (urlEncodeIfNecessary()) { | |
d = urlappend(d); | |
s.et[j] = d && (d.Hb && data.i().ga().top == d.i().ga().top); | |
} | |
} | |
} | |
if (this.Pf) { | |
s.vy = callback(this.pa.ta); | |
} | |
j = bind(function() { | |
/** @type {string} */ | |
s.cm = "none"; | |
var targets = jQuery(".annotation-reply[data-id='" + this.Ac.id() + "']"); | |
if (targets.empty()) { | |
/** @type {number} */ | |
s.Tj = Math.round((right + winH) / 2 - size / 2); | |
} else { | |
/** @type {number} */ | |
s.Tj = Math.max(Math.round(targets.ga().top - size), 0); | |
} | |
}, this); | |
if (this.ia) { | |
/** @type {number} */ | |
var size = Math.round(this.ia.empty() ? 0 : this.ia.get().getBoundingClientRect().height); | |
/** @type {number} */ | |
var toggleWidth = size - this.ia.borderTop() - this.ia.borderBottom(); | |
/** @type {number} */ | |
var right = 0; | |
/** @type {number} */ | |
var winH = window.innerHeight; | |
if (data = objectToString(this.Ac)) { | |
x = callback(data) + offset; | |
var handleWidth = this.ia.find(".arrow").height(); | |
if (jQuery(".thread").j("focused")) { | |
_top(); | |
} else { | |
buildDeck(); | |
} | |
} else { | |
j(); | |
} | |
if (s.Tj + size < right || s.Tj > winH) { | |
/** @type {boolean} */ | |
s.Us = true; | |
} else { | |
s.Ak = _getBounds(this.Ac); | |
} | |
} | |
return s; | |
}; | |
/** | |
* @param {Object} e | |
* @return {undefined} | |
*/ | |
self.Je = function(e) { | |
var i; | |
for (i in this.ge) { | |
if (val(this.ge[i], e.ft[i]), urlEncodeIfNecessary()) { | |
var r = e.et[i]; | |
addClass(this.ge[i], "section-status-offset", r); | |
var d = pow(this.pa, i); | |
if (d) { | |
if (d = objectToString(d)) { | |
addClass(d.i(), "section-status-offset", r); | |
} | |
} | |
} | |
} | |
if (this.Pf) { | |
val(this.Pf, e.vy); | |
} | |
if (this.ia && e.Us) { | |
updateNodeHtml(this.ia); | |
} else { | |
if (this.ia) { | |
val(this.ia, e.Tj); | |
i = this.ia.find(".arrow"); | |
r = e.cm; | |
addClass(addClass(addClass(addClass(this.ia, "right", "right" == r), "top", "top" == r), "bottom", "bottom" == r), "detached", "none" == r); | |
if ("right" == r) { | |
val(i, e.lA); | |
} else { | |
css(i, "top"); | |
} | |
if (e.Ak) { | |
Widget(this.Rb, e.Ak); | |
} | |
} | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.tf = function() { | |
if (this.ia) { | |
updateNodeHtml(this.ia); | |
} | |
var prefixed; | |
for (prefixed in this.ge) { | |
this.ge[prefixed].remove(); | |
delete this.ge[prefixed]; | |
} | |
if (exec(this.lc)) { | |
$timeout(this.lc); | |
delete this.lc; | |
} | |
if (this.Rb) { | |
this.Rb.ua(); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var Text = function() { | |
this.pw = sizeDiv.ya().g("top"); | |
this.Lo = sizeDiv.ya().g("bottom"); | |
this.yu = sizeDiv.ya().g("left"); | |
this.ea = this.pw.concat(this.Lo, this.yu); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
Text.prototype.show = function() { | |
item.append(this.ea); | |
if (exec(this.Ye)) { | |
protectedClearTimeout(this.Ye); | |
delete this.Ye; | |
} | |
if (!exec(this.ne)) { | |
this.ne = finish(bind(function() { | |
this.ea.g("visible"); | |
delete this.ne; | |
}, this)); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
Text.prototype.ua = function() { | |
if (exec(this.ne)) { | |
getById(this.ne); | |
delete this.ne; | |
} | |
if (!exec(this.Ye)) { | |
if (this.ea.j("visible")) { | |
this.ea.k("visible"); | |
this.Ye = push(bind(function() { | |
this.ea.remove(); | |
delete this.Ye; | |
}, this), 250); | |
} else { | |
this.ea.remove(); | |
} | |
} | |
}; | |
/** | |
* @param {HTMLElement} e | |
* @return {?} | |
*/ | |
var _getBounds = function(e) { | |
var coords = urlappend(e); | |
if (coords) { | |
e = e.document.la(); | |
/** @type {number} */ | |
var height = isContentHeight ? window.pageYOffset : 0; | |
/** @type {number} */ | |
var bottom = window.innerHeight + height; | |
var margin; | |
if (aborts(join(coords))) { | |
coords = coords.i().ga(); | |
/** @type {number} */ | |
margin = 1; | |
} else { | |
coords = coords.fa().ga(); | |
/** @type {number} */ | |
margin = 4; | |
} | |
coords.top += height; | |
coords.bottom += height; | |
/** @type {number} */ | |
var delta = isContentHeight ? Math.max(window.outerHeight, e.height()) : 0; | |
return{ | |
top : Math.max(coords.top - margin, height), | |
bottom : Math.min(coords.bottom + margin, bottom), | |
left : e.ga().left, | |
Cm : delta | |
}; | |
} | |
return{ | |
top : 0, | |
bottom : 0, | |
left : window.innerWidth, | |
Cm : 0 | |
}; | |
}; | |
/** | |
* @param {?} data | |
* @param {?} rect | |
* @return {undefined} | |
*/ | |
var Widget = function(data, rect) { | |
data.pw.Sa(rect.top); | |
val(data.Lo, rect.bottom); | |
if (rect.Cm) { | |
data.Lo.Sa(rect.Cm - rect.bottom); | |
} | |
val(data.yu, rect.top).Sa(rect.bottom - rect.top).gb(rect.left); | |
}; | |
var sizeDiv = createElement("div", "annotation-document-cover"); | |
$("dialog-cleanup", "annotation-tab", function() { | |
if (this.find(".message-input").j("dirty")) { | |
return false; | |
} | |
var io = readFile().Vc; | |
io.Rb.ua(); | |
if (io.ia && io.ia.wa(this)) { | |
var E = urlappend(io.Ac); | |
if (E) { | |
E.i().k("popover-anchor"); | |
} | |
changePage(io.Ac, false); | |
} | |
return true; | |
}); | |
$("transitionend", "annotation-tab", function() { | |
if (!this.j("active")) { | |
var s = readFile().Vc; | |
this.remove(); | |
if (s.ia) { | |
if (s.ia.wa(this)) { | |
/** @type {null} */ | |
s.ia = null; | |
/** @type {number} */ | |
s.rm = Number.MAX_VALUE; | |
s.hg(false); | |
if (this.j("newly-created")) { | |
s = s.Ac.sa; | |
if (this.j("remove-highlight") || splice(s)) { | |
s.remove(); | |
} | |
} | |
settings.update(); | |
vec.update(); | |
} | |
} | |
} | |
return true; | |
}); | |
$("input", "annotation-tab", function() { | |
addClass(this, "dirty", arrayContains(this.find(".text,.files").normalize())); | |
return true; | |
}); | |
$("send-setup", "annotation-tab", function() { | |
var result = this.parent(".dialog"); | |
var that = readFile().Vc.Ac; | |
if (result.j("newly-created")) { | |
result.k("newly-created").find(".button.remove").ca(callback("Archive [verb]")); | |
} | |
if (that.kc()) { | |
var d = this; | |
that.document.save(function() { | |
run(d); | |
}); | |
d.g("waiting"); | |
return false; | |
} | |
this.setData("annotation-id", that.id()); | |
return true; | |
}); | |
$("click", "annotation-tab-close", function() { | |
var parentNode = this.parent(".dialog"); | |
var msg = parentNode.find(".message-input"); | |
if (msg.j("dirty") && !msg.j("waiting")) { | |
removeClass(callback("Send pending message before closing?"), callback("Send"), callback("Discard"), function(dataAndEvents) { | |
if (dataAndEvents) { | |
run(msg); | |
} | |
updateNodeHtml(parentNode); | |
}, void 0, true); | |
} else { | |
updateNodeHtml(parentNode); | |
} | |
return false; | |
}); | |
$("click", "annotation-tab-remove", function() { | |
var result = this.parent(".dialog"); | |
if (result.j("newly-created")) { | |
return result.g("remove-highlight"), updateNodeHtml(result), false; | |
} | |
writeWord(true); | |
return false; | |
}); | |
$("click", "annotation-tab-restore", function() { | |
writeWord(false); | |
return false; | |
}); | |
$("mouseover", "annotation-gutter-icon", function() { | |
var e = this.data("id"); | |
posFromMouse(e, "focused", true); | |
return true; | |
}); | |
$("mouseout", "annotation-gutter-icon", function() { | |
var e = this.data("id"); | |
posFromMouse(e, "focused", false); | |
return true; | |
}); | |
$("click", "annotation-focused-section-highlight", function() { | |
var pluginMap = getNext(); | |
if (pluginMap) { | |
removeEventListener(pluginMap.id(), true); | |
} | |
return false; | |
}); | |
attempt(function() { | |
mod2(function(result, el) { | |
var e = result.document.Vc; | |
if (e.ia) { | |
if (e.Ac == result) { | |
if (value(el, 12)) { | |
addClass(e.ia, "annotation-hidden", markMatch(result.sa)); | |
} | |
} | |
} | |
}); | |
}); | |
/** | |
* @return {undefined} | |
*/ | |
var background = function() { | |
this.Ss = createElement("div", "button highlight"); | |
this.Ts = createElement("div", "byline"); | |
this.hk = createElement("div", "popver-anchor").setData("click", "annotation-tab").setData("mousedown", "no-caret-move").append(this.Ss).append(this.Ts); | |
Observable.call(this, "annotation-inspector", this.hk, new RootToken); | |
}; | |
inherits(background, Observable); | |
/** | |
* @return {undefined} | |
*/ | |
background.prototype.update = function() { | |
if (this.anchor.Jb()) { | |
var pluginMap = _clone(); | |
var classNames = dequeue(pluginMap.id()); | |
this.hk.setData("id", pluginMap.id()); | |
addClass(this.Ss, "numbered", 0 < classNames).ca(classNames || ""); | |
this.Ts.ca(_update(pluginMap.sa)); | |
this.show(); | |
} else { | |
this.ua(); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
var RootToken = function() { | |
}; | |
inherits(RootToken, ctorB); | |
/** | |
* @return {?} | |
*/ | |
RootToken.prototype.Jb = function() { | |
/** @type {(Selection|null)} */ | |
var selection = window.getSelection(); | |
if (!selection || (0 == selection.rangeCount || (!selection.isCollapsed || !encodeURIComponent()))) { | |
return false; | |
} | |
selection = _clone(); | |
return!selection || splice(selection.sa) ? false : $p1 != selection; | |
}; | |
var vec = new background; | |
/** | |
* @param {?} config | |
* @return {undefined} | |
*/ | |
var C = function(config) { | |
this.pa = config; | |
/** @type {null} */ | |
this.ia = this.Vk = this.Rb = null; | |
/** @type {number} */ | |
this.nj = 0; | |
/** @type {Array} */ | |
this.zh = []; | |
/** @type {Array} */ | |
this.Sm = []; | |
/** @type {null} */ | |
this.zd = null; | |
/** @type {string} */ | |
this.Zu = "false"; | |
}; | |
/** @type {null} */ | |
var destination = null; | |
self = C.prototype; | |
/** | |
* @param {Object} result | |
* @return {?} | |
*/ | |
self.ga = function(result) { | |
/** @type {null} */ | |
var fz = null; | |
if (result instanceof Constructor) { | |
var s = prompt(result.ba.ld()); | |
if (!s) { | |
return null; | |
} | |
s = toLowerCase(this.pa, s); | |
if (!s || !$compile(s.xa())) { | |
return null; | |
} | |
result = s.o().vp(result); | |
if (!result) { | |
return null; | |
} | |
fz = result.ga(); | |
/** @type {number} */ | |
fz.Yq = 1; | |
/** @type {boolean} */ | |
fz.fz = 13 == s.xa(); | |
} else { | |
if (result instanceof list) { | |
if (aborts(join(result))) { | |
fz = result.i().ga(); | |
/** @type {number} */ | |
fz.Yq = 1; | |
} else { | |
fz = result.fa().ga(); | |
/** @type {number} */ | |
fz.Yq = 4; | |
} | |
} else { | |
return null; | |
} | |
} | |
return fz; | |
}; | |
/** | |
* @param {Object} elem | |
* @param {Function} next | |
* @return {?} | |
*/ | |
var tag = function(elem, next) { | |
var scrubbed = {}; | |
expect(elem.find("div.edit").find("span.insert, span.delete, .li-changed li"), function() { | |
var e = jQuery(this); | |
for (;!e.empty() && ("CONTROL" == e.get().tagName || !e.get().id && !e.data("section-id"));) { | |
e = e.parent(); | |
} | |
if (!e.empty()) { | |
var match = e.get().id || e.data("section-id"); | |
/** @type {boolean} */ | |
scrubbed[match] = true; | |
if (next && !next(e, match)) { | |
return false; | |
} | |
} | |
}); | |
return Object.keys(scrubbed); | |
}; | |
/** | |
* @param {?} type | |
* @return {undefined} | |
*/ | |
self.open = function(type) { | |
var value = eventType(type.parent(".page-tear-group").parent().ya(), "id").k("unread"); | |
var child = value.find(".page-tear-group"); | |
type = type.ya(); | |
removeChild(child).append(type); | |
value.k("edit-expanded"); | |
eventType(value.find("[data-click='page-tear']"), "click"); | |
value.find(".page-tear").setData("click", "diff-view"); | |
child.setData("client-state", "expanded"); | |
css(child.find(".content-height"), "height"); | |
css(child.find(".content-body"), "top"); | |
type.find(".edit").setData("client-state", "expanded"); | |
type.find(".view").k("hidden").setData("click", "diff-view"); | |
expect(type.find(".edit-group[data-section-id], .edit-group [id]"), function() { | |
var target = jQuery(this); | |
if (!write(target, "CONTROL")) { | |
target.setData("click", "diff-section").g("clickable").g("fadeable"); | |
} | |
}); | |
eventType(type.find(".clickable .checkboxdiff").parent(".clickable"), "click").k("clickable").k("fadeable"); | |
eventType(type.find(".clickable").parent(".edit-group.clickable, ul.clickable, tr.clickable"), "click").k("clickable").k("fadeable"); | |
this.ia = jQuery(".diff-tab.template").ya().g("visible").g("theme-" + this.pa.Rp().ib()); | |
this.ia.find(".messages").append(value); | |
this.Zu = this.ia.find(".message-input .text").getAttribute("contenteditable"); | |
addClass(this.ia.find(".input, .button-list"), "unavailable", !prepend()); | |
this.ia.find("button.view-comments").setData("thread-id", this.pa.tc()); | |
var element = this.pa; | |
/** @type {boolean} */ | |
var e = false; | |
value = tag(type, function(exports, boundary) { | |
exports.g("changed"); | |
if (!e) { | |
var key = toLowerCase(element, boundary); | |
if (key) { | |
if (!key.qa()) { | |
/** @type {boolean} */ | |
e = true; | |
} | |
} | |
} | |
return true; | |
}); | |
if (e) { | |
if (1 < value.length) { | |
this.ia.find(".document-inline-edit").append(get("<div class='focus-bar hidden'/>")); | |
} | |
item.append(this.ia); | |
expect(type.find(".clickable"), function() { | |
var item = jQuery(this); | |
if (!item.j("changed")) { | |
if (!start(item, ".changed")) { | |
eventType(item.k("clickable"), "click"); | |
expect(item.find(".clickable"), function() { | |
eventType(jQuery(this).k("clickable"), "click"); | |
}); | |
} | |
} | |
}); | |
this.zh = value; | |
top(this, this.zh); | |
this.zd = this.zh[0]; | |
this.Rb = new grid(true, "diff", !isMobile); | |
this.Rb.show(); | |
this.Vk = new grid(false, "highlight", !isMobile); | |
this.Vk.show(); | |
slide(this, this.zd, 12); | |
open(this); | |
finish(bind(function() { | |
this.ia.g("active"); | |
var expectationResult = toLowerCase(this.pa, this.zh[0]); | |
/** @type {null} */ | |
var otherElementRect = null; | |
if (expectationResult) { | |
otherElementRect = this.ga(expectationResult); | |
} | |
if (otherElementRect) { | |
expectationResult = this.pa.Ma.we(); | |
/** @type {number} */ | |
var Fi = Math.min(this.ia.get().offsetHeight, layout(this) + 60); | |
val(this.ia, Math.min(expectationResult.Fi - Fi - 12, Math.max(otherElementRect.top - 60, 12))); | |
} else { | |
val(this.ia, 12); | |
} | |
}, this)); | |
destination = this; | |
this.hg(); | |
} else { | |
type = 1 < value.length ? callback("The selected edits are no longer in the document.") : callback("The selected edit is no longer in the document."); | |
removeClass(type, callback("OK"), null, function() { | |
}); | |
} | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.close = function() { | |
close(this.ia); | |
}; | |
/** | |
* @param {?} element | |
* @param {Array} b | |
* @param {Object} node | |
* @return {undefined} | |
*/ | |
var top = function(element, b, node) { | |
if (!(1 >= b.length)) { | |
node = node || {}; | |
/** @type {number} */ | |
var bi = 0; | |
for (;bi < b.length;bi++) { | |
var y = b[bi]; | |
if (!(y in node)) { | |
var offset = toLowerCase(element.pa, y); | |
offset = offset ? element.ga(offset) : null; | |
node[y] = offset ? offset.top : 1E5; | |
} | |
} | |
b.sort(function(exp, bool) { | |
return mk_block(node[exp], node[bool]); | |
}); | |
} | |
}; | |
/** | |
* @param {undefined} data | |
* @param {Array} b | |
* @param {Object} val | |
* @param {string} value | |
* @return {undefined} | |
*/ | |
var binding = function(data, b, val, value) { | |
if (null != b) { | |
top(data, b); | |
/** @type {Array} */ | |
data.Sm = b; | |
} | |
data.zd = value ? value : b[0]; | |
slide(data, data.zd); | |
open(data); | |
data.ia.find(".fadeable").g("faded").k("focused"); | |
expect(data.ia.find(".faded .faded"), function() { | |
var exports = jQuery(this).parent(); | |
for (;!exports.empty();) { | |
exports.k("faded"); | |
exports = exports.parent(); | |
} | |
}); | |
if (exec(val)) { | |
if (val.j("fadeable")) { | |
val.k("faded").g("focused"); | |
} | |
val = val.find(".fadeable"); | |
} else { | |
val = data.ia.find(".fadeable[id='" + b[0] + "'],.fadeable[data-section-id='" + b[0] + "']"); | |
} | |
val.k("faded").g("focused"); | |
}; | |
/** | |
* @param {Element} options | |
* @return {undefined} | |
*/ | |
var open = function(options) { | |
/** @type {boolean} */ | |
var value = false; | |
/** @type {boolean} */ | |
var parent = false; | |
if (options.zd) { | |
var target = width(options.pa, options.zd); | |
if (target && !target.qa()) { | |
value = matchArray(target); | |
} else { | |
/** @type {boolean} */ | |
parent = true; | |
} | |
} | |
var current = options.ia.find(".message-input"); | |
addClass(current, "disabled", !value); | |
current.find("div.text").setAttribute("contenteditable", value ? options.Zu : "false"); | |
current.find("div.placeholder").ca(parent ? "" : callback("Add a comment about this edit")); | |
addClass(options.ia, "show-view-comments", !parent && !value); | |
if (!parent) { | |
if (!value) { | |
if (!!target) { | |
parent = matchObject(target); | |
options.ia.find("button.view-comments").setData("id", parent.id()); | |
} | |
} | |
} | |
if (value != exec(options.jf)) { | |
if (value) { | |
options.jf = createElement("editorui", "annotation-gutter-icon popover-anchor").setData("click", "diff-tab-section-highlight").setData("mousedown", "no-caret-move").setAttribute("title", callback("Add a comment")); | |
ok(options.jf, false); | |
options.pa.la().append(options.jf); | |
} else { | |
options.jf.remove(); | |
delete options.jf; | |
} | |
} | |
value = options.ia.find(".focus-bar"); | |
if (!value.empty()) { | |
parent = options.ia.find(".clickable[id='" + options.zd + "'],.clickable[data-section-id='" + options.zd + "']").ga(); | |
options = _qwery(options.ia.find(".content-body")); | |
val(value, parent.top - options.top + -2 - 2).Sa(parent.height - -2 + 4); | |
} | |
}; | |
/** | |
* @param {number} data | |
* @param {?} f | |
* @param {Object} b | |
* @return {undefined} | |
*/ | |
var slide = function(data, f, b) { | |
var o = data.pa.Ma.we(); | |
if (!exec(b)) { | |
b = data.ia.get().offsetTop; | |
} | |
/** @type {number} */ | |
var lvl = Math.min(data.ia.get().offsetHeight - 75, layout(data)); | |
o.bd += b + 75; | |
/** @type {number} */ | |
o.Fi = lvl; | |
o.bf = o.bd + o.Fi; | |
if (f = width(data.pa, f)) { | |
show(f, null, true, o); | |
data.nj = data.pa.la().width(); | |
} | |
}; | |
/** | |
* @param {number} m | |
* @return {?} | |
*/ | |
var layout = function(m) { | |
var n = m.pa.Ma.we(); | |
/** @type {number} */ | |
m = m.ia.get().offsetHeight - m.ia.find(".messages").get().offsetHeight; | |
/** @type {number} */ | |
n = n.Fi - 24; | |
return Math.max(Math.min(400, n - m), 0.75 * n - m); | |
}; | |
/** | |
* @return {undefined} | |
*/ | |
self.hg = function() { | |
/** @type {boolean} */ | |
var _tryInitOnFocus = null != this.ia; | |
var _isFocused = exec(this.lc); | |
if (_tryInitOnFocus && !_isFocused) { | |
/** @type {number} */ | |
this.lc = 1337; | |
this.lc = equals(bind(this.We, this), bind(this.Je, this)); | |
} else { | |
if (!_tryInitOnFocus) { | |
if (_isFocused) { | |
$timeout(this.lc); | |
delete this.lc; | |
} | |
} | |
} | |
}; | |
/** | |
* @return {?} | |
*/ | |
self.We = function() { | |
if (!this.ia) { | |
return{}; | |
} | |
var y = this.pa.Ma; | |
var e = y.we(); | |
var a = { | |
kz : layout(this) | |
}; | |
var item = this.pa.la(); | |
/** @type {number} */ | |
var delta = isContentHeight ? Math.max(window.outerHeight, item.height()) : 0; | |
/** @type {Array} */ | |
var content = []; | |
/** @type {Array} */ | |
var strip = []; | |
var c = {}; | |
/** @type {null} */ | |
var GET = null; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < this.zh.length;i++) { | |
var eventName = this.zh[i]; | |
var entry = toLowerCase(this.pa, eventName); | |
/** @type {boolean} */ | |
var r = -1 != this.Sm.indexOf(eventName); | |
if (entry && (!entry.qa() && 3 != entry.type())) { | |
var pos = this.ga(entry); | |
if (null !== pos) { | |
var offset = pos.Yq; | |
/** @type {null} */ | |
var str = null; | |
if (entry instanceof list) { | |
str = entry.bc(); | |
for (;str && processMessage(str.xa());) { | |
str = str.bc(); | |
} | |
} | |
/** @type {number} */ | |
c[eventName] = pos.top - offset; | |
/** @type {number} */ | |
var n = pos.top - offset; | |
pos = pos.bottom + offset; | |
if (content.length && (str == GET || n - 64 <= content[content.length - 1].bottom)) { | |
if (pos > content[content.length - 1].bottom) { | |
content[content.length - 1].bottom = pos; | |
} | |
content[content.length - 1].Ev.push(eventName); | |
} else { | |
content.push({ | |
Ev : [eventName], | |
top : n, | |
bottom : pos, | |
left : item.ga().left, | |
Cm : delta | |
}); | |
} | |
GET = entry; | |
if (r) { | |
if (strip.length && n - 64 <= strip[strip.length - 1].bottom) { | |
if (pos > strip[strip.length - 1].bottom) { | |
strip[strip.length - 1].bottom = pos; | |
} | |
} else { | |
strip.push({ | |
top : n, | |
bottom : pos, | |
left : item.ga().left | |
}); | |
} | |
} | |
} | |
} | |
} | |
/** @type {number} */ | |
i = 0; | |
for (;i < content.length;i++) { | |
top(this, content[i].Ev, c); | |
} | |
/** @type {Array} */ | |
a.hp = content; | |
/** @type {Array} */ | |
a.hq = strip; | |
a.Oy = this.Sm; | |
if (!this.zd) { | |
return a; | |
} | |
item = toLowerCase(this.pa, this.zd); | |
if (!item) { | |
return a; | |
} | |
delta = y.qk(); | |
content = this.ga(item); | |
if (item instanceof list) { | |
content = item.i(); | |
for (;!("offsetTop" in content.get() || content.empty());) { | |
content = content.parent(); | |
} | |
if (content.empty()) { | |
return a; | |
} | |
/** @type {number} */ | |
y = 0; | |
switch(item.xa()) { | |
case pdataOld: | |
/** @type {number} */ | |
y = 3; | |
break; | |
case udataCur: | |
/** @type {number} */ | |
y = -3; | |
} | |
item = content.get(); | |
for (;item && item != delta;item = item.offsetParent) { | |
y += item.offsetTop; | |
} | |
} else { | |
y = content.top + e.bd; | |
if (content.fz) { | |
y += 4; | |
} | |
} | |
delta = this.ia.get().offsetTop + this.ia.get().clientTop; | |
item = this.ia.get().offsetHeight; | |
/** @type {number} */ | |
e = y - delta - 9 - e.bd; | |
if (25 <= e) { | |
if (e < item - 70) { | |
/** @type {number} */ | |
a.Es = e; | |
} | |
} | |
if (this.jf) { | |
a.ty = y; | |
} | |
return a; | |
}; | |
/** | |
* @param {Object} p | |
* @return {undefined} | |
*/ | |
self.Je = function(p) { | |
if (this.ia) { | |
this.ia.find(".messages").ja("max-height", p.kz + "px"); | |
var rvar = this.ia.find(".arrow"); | |
if (exec(p.Es)) { | |
val(rvar, p.Es); | |
this.ia.k("detached"); | |
} else { | |
this.ia.g("detached"); | |
} | |
if (this.jf) { | |
val(this.jf, p.ty); | |
} | |
/** @type {boolean} */ | |
var modId = rvar = false; | |
if (p.Oy.length) { | |
/** @type {boolean} */ | |
rvar = !(0 < p.hq.length); | |
/** @type {boolean} */ | |
modId = 1 == this.Sm.length; | |
} else { | |
/** @type {boolean} */ | |
rvar = !(0 < p.hp.length); | |
/** @type {boolean} */ | |
modId = 1 == this.zh.length; | |
} | |
if (rvar) { | |
var _results = this.ia.find(".error-bar .info"); | |
if (modId) { | |
_results.ca(callback("The selected edit is no longer in the document.")); | |
} else { | |
_results.ca(callback("The selected edits are no longer in the document.")); | |
} | |
addClass(this.ia, "singular", modId); | |
} | |
addClass(this.ia, "missing", rvar); | |
if (p.hp) { | |
tick(this.Rb, p.hp); | |
} | |
if (p.hq) { | |
tick(this.Vk, p.hq); | |
} | |
if (this.zd) { | |
if (this.nj != this.pa.la().width()) { | |
slide(this, this.zd); | |
} | |
} | |
} | |
}; | |
/** | |
* @param {(Array|string)} list | |
* @return {?} | |
*/ | |
var size = function(list) { | |
if (!list.zd) { | |
return null; | |
} | |
var e = width(list.pa, list.zd); | |
if (!e || (e.qa() || !matchArray(e))) { | |
return null; | |
} | |
list = array(list.pa.Ze, e); | |
/** @type {number} */ | |
var p = 0; | |
for (;p < list.length;p++) { | |
var n = list[p]; | |
if (!markMatch(n.sa)) { | |
return n; | |
} | |
} | |
return parseFile(e); | |
}; | |
$("click", "diff-section", function() { | |
var pdataCur = destination; | |
if (!pdataCur) { | |
return true; | |
} | |
var b = this.getAttribute("id") || this.data("section-id"); | |
if (!b) { | |
b = this.parent("[id]").getAttribute("id") || this.parent("[data-section-id]").data("section-id"); | |
} | |
binding(pdataCur, [b]); | |
pdataCur.ia.find(".focus-bar").k("hidden"); | |
return false; | |
}); | |
$("click", "diff-view", function() { | |
var pdataCur = destination; | |
if (!pdataCur) { | |
return false; | |
} | |
var indents = this.j("page-tear") ? this : this.parent(".page-tear"); | |
binding(pdataCur, [], indents, pdataCur.zd); | |
return false; | |
}); | |
$("input", "diff-tab", function() { | |
addClass(this, "dirty", arrayContains(this.find(".text,.files").normalize())); | |
return true; | |
}); | |
$("click", "diff-tab-close", function() { | |
var origContext = this.parent(".dialog"); | |
close(origContext); | |
return true; | |
}); | |
$("click", "diff-tab-section-highlight", function() { | |
var result = destination; | |
if (result) { | |
var io = size(result) | |
} | |
if (io) { | |
result.close(); | |
removeEventListener(io.id(), true); | |
} | |
return false; | |
}); | |
$("send-setup", "diff-tab", function() { | |
var result = destination; | |
if (result) { | |
var that = size(result) | |
} | |
if (!that) { | |
return removeClass("A comment cannot be added to the selected edit.", callback("OK"), null, function() { | |
}), false; | |
} | |
if (that.kc()) { | |
var d = this; | |
that.document.save(function() { | |
run(d); | |
}); | |
d.g("waiting"); | |
return false; | |
} | |
this.setData("annotation-id", that.id()).g("sending"); | |
return true; | |
}); | |
$("send-cleanup", "diff-tab", function() { | |
var result = destination; | |
if (result) { | |
result.close(); | |
} | |
return true; | |
}); | |
$("dialog-cleanup", "diff-tab", function() { | |
var e = destination; | |
e.Rb.ua(); | |
e.Vk.ua(); | |
e.ia.k("animate"); | |
if (e.jf) { | |
e.jf.remove(); | |
} | |
return true; | |
}); | |
$("transitionend", "diff-tab", function() { | |
if (this.j("active")) { | |
this.g("animate"); | |
} else { | |
var e = destination; | |
this.remove(); | |
if (e.ia) { | |
if (e.ia.wa(this)) { | |
/** @type {null} */ | |
e.ia = null; | |
e.Rb.ua(); | |
e.Vk.ua(); | |
/** @type {null} */ | |
destination = null; | |
css(e.pa.la(), "paddingTop"); | |
if (!isMobile) { | |
right(getInnerWidth()); | |
} | |
e.hg(); | |
} | |
} | |
} | |
return true; | |
}); | |
/** | |
* @param {Object} evt | |
* @param {Function} callback | |
* @return {undefined} | |
*/ | |
var getClipboardDataByPastebin = function(evt, callback) { | |
/** @type {(Selection|null)} */ | |
var selection = window.getSelection(); | |
var srange; | |
if (selection) { | |
if (selection.rangeCount) { | |
srange = selection.getRangeAt(0); | |
} | |
} | |
var focus = document.activeElement; | |
var selected = setStyle(createElement("div").setAttribute("contenteditable", "true"), { | |
position : "absolute", | |
top : "-1000px", | |
left : "-1000px" | |
}); | |
item.append(selected); | |
selected.focus(); | |
finish(function() { | |
var data = parents(selected); | |
selected.remove(); | |
if (focus) { | |
focus.focus(); | |
} | |
/** @type {(Selection|null)} */ | |
selection = window.getSelection(); | |
selection.removeAllRanges(); | |
selection.addRange(srange); | |
if (data) { | |
evt["clipboard.js.synthesizedClipboardData"] = { | |
types : ["text/html"], | |
/** | |
* @return {?} | |
*/ | |
getData : function() { | |
return data; | |
} | |
}; | |
callback(); | |
} | |
}); | |
}; | |
/** | |
* @param {Object} c | |
* @return {?} | |
*/ | |
var getFile = function(c) { | |
if ("clipboard.js.synthesizedClipboardData" in c) { | |
return false; | |
} | |
if (!c.clipboardData) { | |
return true; | |
} | |
c = c.clipboardData.types; | |
return external ? sortFunction(c, ["text/plain"]) : isCORS && (!applyIfNotSet && (!isMobile && c)) ? (c = slice(value, c), (c("text/rtf") || c("public.rtf")) && (!c("text/html") && (!c("application/vnd.quip.sections+pblite") && !c("image/vnd.quip.image-section")))) : false; | |
}; | |
/** | |
* @param {string} str | |
* @return {?} | |
*/ | |
var escape = function(str) { | |
str = (new Access).Ij(str); | |
return str = str.replace(/./g, function(s) { | |
var date = s.charCodeAt(0); | |
if (32 <= date && 127 >= date) { | |
return s; | |
} | |
s = date.toString(16).toUpperCase(); | |
if (256 > date) { | |
/** @type {string} */ | |
s = "0" + s; | |
} | |
if (4096 > date) { | |
/** @type {string} */ | |
s = "00" + s; | |
} | |
return "\\u" + s; | |
}); | |
}; | |
/** | |
* @param {?} label | |
* @return {?} | |
*/ | |
var stylize = function(label) { | |
return(new Slice).Ij(label); | |
}; | |
/** | |
* @param {string} name | |
* @param {Function} child | |
* @return {?} | |
*/ | |
var isNaN = function(name, child) { | |
var jQuery = new Slice; | |
var node = child.oc(); | |
return jQuery.Oi(node, name); | |
}; | |
/** | |
* @param {?} cookieName | |
* @return {?} | |
*/ | |
var toStr = function(cookieName) { | |
return(new FlatMessage(1)).Ij(cookieName); | |
}; | |
/** | |
* @param {?} n | |
* @return {undefined} | |
*/ | |
var above = function(n) { | |
this.xp = n; | |
this.Yy = this.gf = new Key(assertEquals(n.i(), "section-float"), n.bc(), n.wc()); | |
}; | |
/** | |
* @return {?} | |
*/ | |
above.prototype.Fa = function() { | |
return this.xp.o(); | |
}; | |
/** | |
* @param {(RegExp|string)} w | |
* @param {?} x | |
* @param {?} h | |
* @return {undefined} | |
*/ | |
var Key = function(w, x, h) { | |
/** @type {(RegExp|string)} */ | |
this.Wd = w; | |
this.Ki = x; | |
this.vh = h; | |
}; | |
/** | |
* @param {?} keepData | |
* @return {?} | |
*/ | |
Key.prototype.wa = function(keepData) { | |
return keepData.Wd == this.Wd && (keepData.Ki == this.Ki && keepData.vh == this.vh); | |
}; | |
/** | |
* @param {Object} e | |
* @param {number} s | |
* @param {Object} x | |
* @return {?} | |
*/ | |
var onMouseMove = function(e, s, x) { | |
if (s) { | |
if (s.cb()) { | |
return 0; | |
} | |
} else { | |
if (x && x.cb()) { | |
return 0; | |
} | |
} | |
e = e.clientX; | |
s = readFile().la(); | |
var start = _qwery(s); | |
x = s.paddingLeft(); | |
var c = s.paddingRight(); | |
start = start.left + x; | |
/** @type {number} */ | |
s = s.width() - x - c; | |
return e < start + 0.2 * s ? 1 : e > start + 0.8 * s ? 2 : 0; | |
}; | |
/** @type {null} */ | |
var conn = null; | |
$("dragstart", "section-drag", function(d) { | |
var self = _nodeUID(this); | |
if (d.target != self.Db.get()) { | |
return true; | |
} | |
if (!self.o().rq()) { | |
return console.warn("Got a dragstart event for an undraggable section", self.id(), ", ignoring"), true; | |
} | |
self = conn = new above(self); | |
self.Em = self.Fa().ew(d); | |
return true; | |
}); | |
$("dragend", "section-drag", function(event) { | |
if (!conn) { | |
return true; | |
} | |
stopEvent(event); | |
event = conn; | |
event.Fa().Xo(event.Em); | |
/** @type {null} */ | |
conn = null; | |
return true; | |
}); | |
$("dragover", "section-drag", function(event) { | |
if (isValidFileDrag(event)) { | |
return stopEvent(event), true; | |
} | |
if (!conn) { | |
return true; | |
} | |
stopEvent(event); | |
a: { | |
var data = conn; | |
/** @type {null} */ | |
var key = null; | |
/** @type {null} */ | |
var ctx = null; | |
var node = event.target; | |
for (;node;node = node.parentNode) { | |
if (node == data.Em.get()) { | |
key = new Key(onMouseMove(event, data.gf.Ki, data.gf.vh), data.gf.Ki, data.gf.vh); | |
break; | |
} | |
if (ctx = _nodeUID(node)) { | |
break; | |
} | |
} | |
if (!key) { | |
if (!ctx) { | |
ctx = within(readFile(), event); | |
} | |
if (!ctx) { | |
console.warn("Couldn't find section in dragover, target was " + event.target.nodeName); | |
break a; | |
} | |
key = data.xp; | |
var obj = ctx; | |
var thisMouseY = event.clientY; | |
var base = _qwery(obj.i()).top; | |
var range = obj.i().height(); | |
ctx = obj.bc(); | |
node = obj; | |
if (thisMouseY > base + 0.5 * range) { | |
ctx = obj; | |
node = obj.wc(); | |
} | |
if (ctx == key) { | |
ctx = key.bc(); | |
} else { | |
if (node == key) { | |
node = key.wc(); | |
} | |
} | |
event = onMouseMove(event, ctx, node); | |
key = new Key(event, ctx, node); | |
} | |
if (!(data.gf && data.gf.wa(key))) { | |
data.gf = key; | |
data.Fa().gv(key, data.Em); | |
} | |
} | |
return true; | |
}); | |
$("drop", "section-drag", function(e) { | |
if (isValidFileDrag(e)) { | |
stopEvent(e); | |
var name = readFile(); | |
var ret = within(name, e); | |
name = token(name, ret); | |
upload_file(e.dataTransfer.files[0], name); | |
name.Ua(); | |
return true; | |
} | |
if (!conn) { | |
return true; | |
} | |
stopEvent(e); | |
e = conn; | |
e.Fa().Xo(e.Em); | |
if (e.gf) { | |
if (!e.Yy.wa(e.gf)) { | |
e.Fa().Cs(e.gf); | |
e.xp.Ua(); | |
} | |
} else { | |
console.warn("No drop info in drop, ignoring"); | |
} | |
return true; | |
}); | |
var Vu; | |
/** | |
* @param {Node} node | |
* @return {?} | |
*/ | |
var autoCode = function(node) { | |
if (node.nodeType == SELECT) { | |
return 1; | |
} | |
if (8 == node.nodeType || !node.nodeName) { | |
return 2; | |
} | |
switch(node.nodeName) { | |
case "A": | |
; | |
case "B": | |
; | |
case "I": | |
; | |
case "U": | |
; | |
case "BR": | |
; | |
case "H1": | |
; | |
case "H2": | |
; | |
case "H3": | |
; | |
case "H4": | |
; | |
case "H5": | |
; | |
case "P": | |
; | |
case "UL": | |
; | |
case "OL": | |
; | |
case "LI": | |
; | |
case "DIV": | |
; | |
case "SPAN": | |
; | |
case "DT": | |
; | |
case "DD": | |
; | |
case "TABLE": | |
; | |
case "CAPTION": | |
; | |
case "TR": | |
; | |
case "TD": | |
; | |
case "TH": | |
; | |
case "PRE": | |
return 1; | |
case "INPUT": | |
; | |
case "FORM": | |
; | |
case "HEAD": | |
; | |
case "META": | |
; | |
case "LINK": | |
; | |
case "#comment": | |
return 2; | |
} | |
return 3; | |
}; | |
/** @type {function (Node): ?} */ | |
autoCode.acceptNode = autoCode; | |
/** @type {Array.<string>} */ | |
var req = "h1 h2 h3 p listitem table pre".split(" "); | |
/** @type {string} */ | |
var pageSelector = req.join(","); | |
var root = {}; | |
/** | |
* @param {Array} template | |
* @return {?} | |
*/ | |
var render = function(template) { | |
/** | |
* @param {Object} first | |
* @param {string} event | |
* @param {Array} key | |
* @param {string} number | |
* @param {Array} callbacks | |
* @return {?} | |
*/ | |
function fn(first, event, key, number, callbacks) { | |
for (;;) { | |
if (0 == callbacks.length) { | |
return number; | |
} | |
var node = callbacks[callbacks.length - 1][0]; | |
var part = callbacks[callbacks.length - 1][1]; | |
/** @type {Object} */ | |
var p = first; | |
if (first && !(node !== root || (!event || event && value(req, event)) && event)) { | |
return number; | |
} | |
for (;;) { | |
if (first) { | |
p = p.parentNode; | |
} | |
if (p === node) { | |
return number; | |
} | |
if (null === p || p === key) { | |
callbacks.pop(); | |
if (-1 == part.indexOf("trailing:")) { | |
number += "</" + part.toLowerCase() + ">"; | |
} else { | |
if ("trailing:br" == part) { | |
/** @type {boolean} */ | |
g = true; | |
} else { | |
number += "<" + part.substring(9) + ">"; | |
} | |
} | |
break; | |
} | |
} | |
} | |
} | |
/** | |
* @param {Node} target | |
* @param {(number|string)} element | |
* @param {string} attr | |
* @param {Array} callbacks | |
* @return {?} | |
*/ | |
function get(target, element, attr, callbacks) { | |
element = element || target.nodeName; | |
if (0 < callbacks.length) { | |
var evt = callbacks[callbacks.length - 1][1]; | |
if (callbacks[callbacks.length - 1][0] === root) { | |
if (element) { | |
if (value(req, element)) { | |
callbacks.pop(); | |
attr += "</" + evt.toLowerCase() + ">"; | |
} | |
} | |
} | |
} | |
callbacks.push([target, element]); | |
return attr; | |
} | |
/** | |
* @param {(Array|string)} s | |
* @return {?} | |
*/ | |
function find(s) { | |
var results = {}; | |
s = s.getAttribute("style"); | |
if (!s) { | |
return results; | |
} | |
s = s.split(";"); | |
/** @type {number} */ | |
var i = 0; | |
for (;i < s.length;i++) { | |
var parts = s[i].split(":"); | |
if (1 == parts.length) { | |
/** @type {string} */ | |
results[parts[0].trim()] = ""; | |
} else { | |
if (1 < parts.length) { | |
results[parts[0].trim()] = parts[1].trim(); | |
} | |
} | |
} | |
return results; | |
} | |
/** | |
* @param {string} style | |
* @return {?} | |
*/ | |
function callback(style) { | |
return(style = style.match(/([0-9.]+)p[tx]/)) ? parseFloat(style[1]) : -1; | |
} | |
/** @type {boolean} */ | |
var isSelf = -1 != template.indexOf("urn:schemas-microsoft-com:office") || (-1 != template.indexOf("=Mso") || -1 != template.indexOf("mso-")); | |
template = createAndInsertIframeForContent(template); | |
/** @type {boolean} */ | |
var g = false; | |
/** @type {TreeWalker} */ | |
var element = document.createTreeWalker(template.get(), 5, autoCode, false); | |
/** @type {Array} */ | |
var callbacks = []; | |
/** @type {string} */ | |
var val = ""; | |
/** @type {number} */ | |
var end = 0; | |
/** @type {boolean} */ | |
var p = false; | |
for (;;) { | |
/** @type {null} */ | |
var target = null; | |
if (p) { | |
for (;;) { | |
if (target = element.nextSibling(), null == target) { | |
if (target = element.parentNode(), null == target) { | |
break; | |
} | |
} else { | |
break; | |
} | |
} | |
} else { | |
/** @type {(Node|null)} */ | |
target = element.nextNode(); | |
} | |
/** @type {boolean} */ | |
p = false; | |
if (null == target) { | |
break; | |
} | |
/** @type {null} */ | |
var b = null; | |
/** @type {string} */ | |
var c = ""; | |
/** @type {null} */ | |
var data = null; | |
/** @type {boolean} */ | |
var L = false; | |
/** @type {boolean} */ | |
var parens = false; | |
if (target.nodeType == SELECT) { | |
if (!/^\n+$/.test(target.data)) { | |
if (data = target.data, callbacks.length && "pre" == callbacks[callbacks.length - 1][1]) { | |
data = data.split(/[\n\r]/); | |
/** @type {number} */ | |
var s = 0; | |
for (;s < data.length;s++) { | |
data[s] = tmpl(unCamelCase(data[s])); | |
} | |
data = data.join("<br>"); | |
} else { | |
data = tmpl(data.replace(/\s+/g, " ")); | |
} | |
} | |
} else { | |
if (b = target.nodeName.toLowerCase(), "br" == b) { | |
/** @type {boolean} */ | |
L = true; | |
if (0 == sibling(jQuery(target)).text().trim().length) { | |
/** @type {null} */ | |
b = null; | |
} | |
} else { | |
if (0 != target.textContent.length || start(jQuery(target), "br")) { | |
if (0 == target.textContent.length) { | |
/** @type {boolean} */ | |
p = true; | |
} | |
var style = target.style; | |
s = style.display || ""; | |
var current = callback(style.fontSize || ""); | |
var q = style.fontWeight || ""; | |
var endpoint = style.fontStyle || ""; | |
var relativeUrlPrefix = style.textDecoration || ""; | |
var hosts = callback(style.marginBottom || ""); | |
style = callback(style.marginTop || ""); | |
if ("none" == s) { | |
/** @type {null} */ | |
b = null; | |
/** @type {boolean} */ | |
p = true; | |
} else { | |
switch(b) { | |
case "a": | |
if ((s = target.getAttribute("href")) && HCHARS.test(s)) { | |
/** @type {string} */ | |
c = ' href="' + s + '"'; | |
} else { | |
/** @type {null} */ | |
b = null; | |
} | |
break; | |
case "li": | |
/** @type {boolean} */ | |
parens = true; | |
/** @type {string} */ | |
b = "listitem"; | |
/** @type {number} */ | |
c = 0; | |
s = jQuery(target).parent("ul,ol"); | |
for (;!s.parent("ul,ol").empty();) { | |
c++; | |
s = s.parent("ul,ol"); | |
} | |
/** @type {string} */ | |
c = ' data-indentation="' + c + '"'; | |
break; | |
case "ul": | |
; | |
case "ol": | |
/** @type {null} */ | |
b = null; | |
break; | |
case "h4": | |
; | |
case "h5": | |
/** @type {string} */ | |
b = "h3"; | |
case "h1": | |
; | |
case "h2": | |
; | |
case "h3": | |
/** @type {boolean} */ | |
parens = true; | |
break; | |
case "b": | |
if ("normal" == q) { | |
/** @type {null} */ | |
b = null; | |
} | |
break; | |
case "i": | |
; | |
case "u": | |
break; | |
case "table": | |
/** @type {boolean} */ | |
parens = true; | |
break; | |
case "caption": | |
; | |
case "tr": | |
; | |
case "td": | |
; | |
case "th": | |
break; | |
case "pre": | |
/** @type {boolean} */ | |
parens = true; | |
break; | |
default: | |
var targets = find(target); | |
if (targets["mso-list"] && /Ignore/.test(targets["mso-list"])) { | |
/** @type {null} */ | |
b = null; | |
/** @type {boolean} */ | |
p = true; | |
} else { | |
if ("p" == b && targets["mso-list"]) { | |
if (s = targets["mso-list"].match(/level([0-9]+)/)) { | |
c = s[1]; | |
/** @type {boolean} */ | |
parens = true; | |
/** @type {string} */ | |
b = "listitem"; | |
/** @type {string} */ | |
c = ' data-indentation="' + c + '"'; | |
} | |
} else { | |
if ("p" == b && jQuery(target).j("MsoSubtitle")) { | |
/** @type {boolean} */ | |
parens = true; | |
/** @type {string} */ | |
b = "h3"; | |
} else { | |
if ("span" == b && "bold" == q) { | |
/** @type {string} */ | |
b = "b"; | |
} else { | |
if ("span" == b && "italic" == endpoint) { | |
/** @type {string} */ | |
b = "i"; | |
} else { | |
if ("span" == b && "underline" == relativeUrlPrefix) { | |
/** @type {string} */ | |
b = "u"; | |
} else { | |
if (q = "p", 32 <= current ? q = "h1" : 21 <= current && (q = "h2"), "p" == q || val.substring(end)) { | |
if ("span" != b && ("div" == b || ("p" == b || s && -1 == s.indexOf("inline")))) { | |
if (!(2 <= style || 2 <= hosts) || jQuery(target).j("MsoNoSpacing")) { | |
if (isSelf || "p" != b) { | |
/** @type {string} */ | |
c = " class=line"; | |
} | |
} | |
/** @type {string} */ | |
b = val.substring(end) ? q : "trailing:br"; | |
} else { | |
/** @type {null} */ | |
b = null; | |
} | |
} else { | |
if (0 < end) { | |
/** @type {string} */ | |
val = val.substring(0, val.lastIndexOf("<")); | |
/** @type {string} */ | |
callbacks[callbacks.length - 1][1] = q; | |
} | |
/** @type {string} */ | |
b = q; | |
/** @type {boolean} */ | |
parens = true; | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
; | |
} | |
} | |
} else { | |
/** @type {null} */ | |
b = null; | |
/** @type {boolean} */ | |
p = true; | |
} | |
} | |
} | |
val = fn(parens ? null : target, b, template, val, callbacks); | |
parens = b || data; | |
if (!(0 != callbacks.length)) { | |
if (!!parens) { | |
if (!(b && (b && value(req, b)))) { | |
val = get(root, "p", val, callbacks); | |
val += "<p class=line>"; | |
/** @type {number} */ | |
end = val.length; | |
/** @type {boolean} */ | |
g = false; | |
} | |
} | |
} | |
if (b) { | |
if (b) { | |
if (value(req, b)) { | |
if (0 < callbacks.length) { | |
/** @type {string} */ | |
b = "br"; | |
/** @type {boolean} */ | |
L = true; | |
} | |
} | |
} | |
} | |
if (b) { | |
if (L || (val = get(target, b, val, callbacks)), -1 == b.indexOf("trailing:") && (val += "<" + b + c + ">"), b && value(req, b) || -1 != b.indexOf("br")) { | |
end = val.length; | |
/** @type {boolean} */ | |
g = false; | |
} | |
} | |
if (data) { | |
if (g) { | |
end = val.length; | |
/** @type {boolean} */ | |
g = false; | |
val += "<br>"; | |
} | |
val += data; | |
} | |
} | |
for (;0 < callbacks.length;) { | |
val = fn(null, null, template, val, callbacks); | |
} | |
return val = val.replace(/ +/g, " "); | |
}; | |
/** | |
* @param {string} array | |
* @return {?} | |
*/ | |
var clean = function(array) { | |
array = array.split(/[\n\r]/); | |
/** @type {string} */ | |
var ret = ""; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < array.length;i++) { | |
var template = array[i]; | |
template = template.replace(/\s+/g, " "); | |
template = template.trim(); | |
template = tmpl(template); | |
/** @type {string} */ | |
ret = ret + ("<p class=line>" + template + "</p>"); | |
} | |
return ret; | |
}; | |
/** | |
* @param {string} str | |
* @return {?} | |
*/ | |
var unCamelCase = function(str) { | |
return str.replace(/\t/g, template(" ", 4)).replace(/\s\s/g, " \u00a0").replace(/^\s/, "\u00a0"); | |
}; | |
/** | |
* @param {Array} files | |
* @return {?} | |
*/ | |
var checkResult = function(files) { | |
files = filter(files); | |
var jQuery = new ref; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < files.length;++i) { | |
jQuery.mc(files[i]); | |
} | |
return jQuery; | |
}; | |
/** | |
* @param {Array} data | |
* @return {?} | |
*/ | |
var filter = function(data) { | |
/** | |
* @param {number} expectedNumberOfNonCommentArgs | |
* @return {?} | |
*/ | |
function fn(expectedNumberOfNonCommentArgs) { | |
var b = new Transform; | |
b.Ia("temp:" + d++); | |
b.ri(deepDataAndEvents); | |
b.mb(expectedNumberOfNonCommentArgs); | |
b.Xb(0); | |
return b; | |
} | |
/** | |
* @param {(number|string)} isXML | |
* @param {Node} value | |
* @return {?} | |
*/ | |
function filter(isXML, value) { | |
var event = fn(expectedNumberOfNonCommentArgs).ja(isXML).Za((new Contact).ca((new Image).ca(md5_hh(value.get(), null, prev)))); | |
queue.push(event); | |
return event; | |
} | |
/** @type {number} */ | |
var d = 1; | |
/** @type {Array} */ | |
var queue = []; | |
/** @type {Array} */ | |
var k = []; | |
expect(trim(createAndInsertIframeForContent(data)), function() { | |
var table = jQuery(this); | |
if (!appendChild(table, ELEMENT_NODE) && table.filter(pageSelector).empty()) { | |
console.error("Invalid top-level element in sectionRtml: ", table.get()); | |
} else { | |
if (write(table, "table")) { | |
var q = table.find("th, td"); | |
if (q.empty() || 1 == q.length() && !q.text()) { | |
queue.pop(); | |
} else { | |
if (1 == q.length()) { | |
filter(0, q); | |
} else { | |
q = table.find("caption"); | |
if (!q.empty()) { | |
filter(udataCur, q); | |
} | |
var templatePromise = fn(3).mb(3).ja(8); | |
queue.push(templatePromise); | |
/** @type {Array} */ | |
var children = []; | |
expect(table.find("tr"), function(dataAndEvents, deepDataAndEvents) { | |
var c = jQuery(this); | |
var copies; | |
if (0 != deepDataAndEvents) { | |
copies = fn(5).ja(9).$a((new Collection).vd(templatePromise.Da())); | |
copies.ve(); | |
queue.push(copies); | |
} | |
/** @type {Array} */ | |
var keys = []; | |
expect(c.find("th, td"), function(dataAndEvents, key) { | |
var child; | |
if (0 == deepDataAndEvents) { | |
child = fn(4).ja(10).$a((new Collection).vd(templatePromise.Da())); | |
children.push(child); | |
child.ve(); | |
queue.push(child); | |
} else { | |
if (child = children[key], !child) { | |
return; | |
} | |
} | |
var a; | |
a = jQuery(this); | |
a = md5_hh(a.get(), null, prev); | |
var n = fn(expectedNumberOfNonCommentArgs).ja(0).$a(new Collection); | |
if (0 == deepDataAndEvents) { | |
n.hc().vd(child.Da()); | |
} else { | |
n.hc().vd(copies.Da()).vd(child.Da()); | |
keys.push(n); | |
} | |
n.Za((new Contact).ca((new Image).ca(a))); | |
queue.push(n); | |
}); | |
if (0 != deepDataAndEvents && keys.length < children.length) { | |
/** @type {number} */ | |
c = keys.length; | |
for (;c < children.length;c++) { | |
var modId = fn(expectedNumberOfNonCommentArgs).ja(0).$a((new Collection).vd(copies.Da()).vd(children[c].Aa())); | |
queue.push(modId); | |
} | |
} | |
}); | |
} | |
} | |
} else { | |
var tag = table.get().nodeName.toLowerCase(); | |
/** @type {number} */ | |
q = 0; | |
switch(tag) { | |
case "h1": | |
/** @type {number} */ | |
q = pdataOld; | |
break; | |
case "h2": | |
/** @type {number} */ | |
q = 2; | |
break; | |
case "h3": | |
/** @type {number} */ | |
q = udataCur; | |
break; | |
case "pre": | |
/** @type {number} */ | |
q = 4; | |
} | |
q = filter(q, table); | |
switch(tag) { | |
case "p": | |
/** @type {boolean} */ | |
table = !table.j("line"); | |
q.He(new Tag); | |
cb(q.Pd(), table); | |
break; | |
case "listitem": | |
/** @type {number} */ | |
table = Number(table.data("indentation")) || 0; | |
q.He(new Tag); | |
isPlainObject(q.Pd(), table); | |
k.push(q); | |
} | |
} | |
} | |
}); | |
/** @type {Array} */ | |
data = []; | |
/** @type {null} */ | |
var isXML = null; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < queue.length;++i) { | |
var p = queue[i]; | |
if (-1 != k.indexOf(p)) { | |
if (!isXML) { | |
isXML = fn(1).ja(5); | |
data.push(isXML); | |
} | |
p.$a((new Collection).vd(isXML.Da())); | |
} else { | |
/** @type {null} */ | |
isXML = null; | |
} | |
data.push(p); | |
} | |
/** @type {null} */ | |
isXML = null; | |
/** @type {number} */ | |
i = 0; | |
for (;i < data.length;++i) { | |
p = data[i]; | |
isXML = filterFunc(isXML, null); | |
p.xb(isXML); | |
} | |
return data; | |
}; | |
/** | |
* @param {?} $particles | |
* @param {Array} array | |
* @param {Object} ml | |
* @param {number} Tools | |
* @param {?} values | |
* @return {undefined} | |
*/ | |
var List = function($particles, array, ml, Tools, values) { | |
this.la = $particles; | |
/** @type {Array} */ | |
this.nd = array; | |
/** @type {Object} */ | |
this.ml = ml; | |
/** @type {number} */ | |
this.Cd = Tools; | |
this.ug = values; | |
}; | |
/** | |
* @param {?} arr | |
* @return {?} | |
*/ | |
var shift = function(arr) { | |
var o = end(); | |
var codeSegments = createNode(arr.get()); | |
var options = addAttributes(arr.get()); | |
/** @type {number} */ | |
var foundI = -1; | |
/** @type {number} */ | |
var scope = -1; | |
if (o) { | |
/** @type {number} */ | |
var i = 0; | |
for (;i < codeSegments.length;++i) { | |
if (codeSegments[i] == o.Eb) { | |
/** @type {number} */ | |
foundI = i; | |
scope = o.Yb; | |
} | |
} | |
} | |
return new List(arr, codeSegments, options, foundI, scope); | |
}; | |
/** | |
* @param {Object} element | |
* @return {?} | |
*/ | |
var doAnimation = function(element) { | |
for (;element;element = element.parentNode) { | |
var displayNone = jQuery(element).style("display"); | |
if (displayNone && ("inline" != displayNone && "inline-block" != displayNone)) { | |
return jQuery(element); | |
} | |
} | |
return null; | |
}; | |
/** | |
* @param {number} node | |
* @return {?} | |
*/ | |
var parseNode = function(node) { | |
if (0 == node.ml.length) { | |
return true; | |
} | |
if (-1 == node.Cd) { | |
return false; | |
} | |
/** @type {number} */ | |
var i = 0; | |
for (;i <= node.Cd;++i) { | |
if (node.ml[i].nodeType != SELECT) { | |
return false; | |
} | |
} | |
var pos = doAnimation(node.nd[0]); | |
/** @type {null} */ | |
i = null; | |
/** @type {number} */ | |
i = 0; | |
for (;i < node.nd.length;++i) { | |
if (!pos.wa(doAnimation(node.nd[i]))) { | |
i--; | |
break; | |
} | |
if (0 < node.nd[i].data.trim().length) { | |
break; | |
} | |
} | |
/** @type {number} */ | |
pos = i; | |
var c = node.nd[node.Cd].data; | |
/** @type {number} */ | |
var start = 0; | |
/** @type {number} */ | |
i = 0; | |
for (;i < c.length;i++) { | |
if ("\u00a0" == c.charAt(i) || operate(c.charAt(i))) { | |
/** @type {number} */ | |
start = i; | |
break; | |
} | |
} | |
return node.Cd <= pos && node.ug <= start; | |
}; | |
/** | |
* @param {number} target | |
* @return {?} | |
*/ | |
var populate = function(target) { | |
var j; | |
if (-1 == target.Cd) { | |
return false; | |
} | |
if (!j) { | |
/** @type {number} */ | |
j = 0; | |
/** @type {number} */ | |
var i = target.ml.length - 1; | |
for (;target.ml[i] != target.nd[target.Cd];--i) { | |
if (target.ml[i].nodeType != SELECT) { | |
j++; | |
} | |
} | |
if (1 < j) { | |
return false; | |
} | |
} | |
i = doAnimation(target.nd[target.nd.length - 1]); | |
/** @type {null} */ | |
j = null; | |
/** @type {number} */ | |
j = target.nd.length - 1; | |
for (;0 < j;--j) { | |
if (!i.wa(doAnimation(target.nd[j]))) { | |
j++; | |
break; | |
} | |
if (0 < target.nd[j].data.trim().length) { | |
break; | |
} | |
} | |
/** @type {number} */ | |
i = j; | |
var input = target.nd[target.Cd].data; | |
var il = input.length; | |
/** @type {number} */ | |
j = input.length - 1; | |
for (;0 <= j;j--) { | |
if ("\u00a0" == input.charAt(j) || operate(input.charAt(j))) { | |
/** @type {number} */ | |
il = j + 1; | |
break; | |
} | |
} | |
return target.Cd >= i && target.ug >= il; | |
}; | |
/** | |
* @return {?} | |
*/ | |
List.prototype.Eh = function() { | |
/** @type {number} */ | |
var prevChunksLen = 0; | |
/** @type {number} */ | |
var rCount = 0; | |
for (;rCount < this.nd.length;++rCount) { | |
prevChunksLen += this.nd[rCount].length; | |
} | |
return prevChunksLen; | |
}; | |
/** @type {RegExp} */ | |
var rvar = RegExp("\\b((?:([\\w-]+):(/{1,3})|www[\\.]|(?:[A-Za-z][\\w-]*\\.(?=([A-Za-z][\\w-]*\\.)*(?:com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)(?:/|$|\\)|:|\\s))))(?:(?:(?:[^\\s&()]|&|&|")*(?:[^!\"#$%&'()*+,\\.:;<=>?@\\[\\]^`{|}~\\s]))|(?:\\((?:[^\\s&()]|&|&|")*\\)))+)"); | |
/** @type {RegExp} */ | |
var HCHARS = /^(http(s)?|ftp|mailto|tel):/; | |
/** @type {RegExp} */ | |
var pattern = /[^\-<]\-\-[^\->]/; | |
var elems = { | |
"\u2194" : /[^\<](\<\-{1,2}\>)[^\>]/, | |
"\u2190" : /[^\<](\<\-{1,2})[^\-]/, | |
"\u2192" : /[^\-](\-{1,2}\>)[^\>]/ | |
}; | |
/** @type {RegExp} */ | |
var vvarText = RegExp("\\b([-\\.\\w]+\\@[-\\w]+(?:\\.[-\\w]+)*\\.(?:com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil))"); | |
/** @type {RegExp} */ | |
var vvar = RegExp("(^|[!\"#'()*,\\.:;<>?@\\[\\]`{|}~\\s])((?:\\+[0-9]+[\\- \\.]*)?(?:\\([0-9]+\\)[\\- \\.]*)?(?:[0-9][0-9\\- \\.][0-9\\- \\.]+[0-9]))($|[!\"#'()*,\\.:;<>?@\\[\\]`{|}~\\s])"); | |
/** @type {RegExp} */ | |
var bit = /(.*[^0-9]+)([0-9]+)/; | |
/** @type {RegExp} */ | |
var reWhitespace = /^((?:\+[0-9]+[\- \.]*)?(?:\([0-9]+\)[\- \.]*)?(?:[0-9][0-9\- \.][0-9\- \.]+[0-9]))$/; | |
/** | |
* @param {Object} match | |
* @return {?} | |
*/ | |
var lookAhead = function(match) { | |
/** @type {string} */ | |
var matches = "tel:"; | |
/** @type {number} */ | |
var i = 0; | |
for (;i < match.length;i++) { | |
var ch = match[i]; | |
if ("0" <= ch && "9" >= ch || "+" == ch) { | |
matches += ch; | |
} | |
} | |
return matches; | |
}; | |
var newMatch = { | |
matches : false, | |
Ug : 0, | |
match : "", | |
eh : null | |
}; | |
/** | |
* @param {?} parent | |
* @param {Array} source | |
* @param {boolean} callback | |
* @param {boolean} deepDataAndEvents | |
* @return {?} | |
*/ | |
var Class = function(parent, source, callback, deepDataAndEvents) { | |
return walk(function(value, groupName) { | |
var match; | |
a: { | |
/** @type {number} */ | |
match = 0; | |
for (;match < variables.length;match++) { | |
var optgroup = (0, variables[match])(value, groupName); | |
if (optgroup.matches) { | |
match = optgroup; | |
break a; | |
} | |
} | |
match = newMatch; | |
} | |
if (!match.matches && (match = iterator(value).match, !match.matches && (match = value.search(pattern), -1 == match ? match = newMatch : (optgroup = apply(value[match] + "\u2014" + value[match + 3]), match = { | |
matches : true, | |
Ug : match, | |
match : value.substr(match, 4), | |
eh : optgroup | |
}), !match.matches))) { | |
/** @type {number} */ | |
match = -1; | |
var matches; | |
var _; | |
var i; | |
for (i in elems) { | |
if (optgroup = elems[i], matches = value.match(optgroup)) { | |
match = value.search(optgroup); | |
/** @type {string} */ | |
_ = i; | |
break; | |
} | |
} | |
if (_) { | |
_ = apply(value[match] + _ + value[match + matches[1].length + 1]); | |
match = { | |
matches : true, | |
Ug : match, | |
match : matches[0], | |
eh : _ | |
}; | |
} else { | |
match = newMatch; | |
} | |
} | |
return match; | |
}, parent, source, callback, deepDataAndEvents); | |
}; | |
/** | |
* @param {Function} fn | |
* @param {?} opts | |
* @param {Array} s | |
* @param {number} i | |
* @param {boolean} action | |
* @return {?} | |
*/ | |
var walk = function(fn, opts, s, i, action) { | |
i = i || false; | |
action = action || false; | |
/** @type {null} */ | |
var el = null; | |
/** @type {number} */ | |
var len = -1; | |
/** @type {boolean} */ | |
var colons = false; | |
/** @type {(Selection|null)} */ | |
var last = window.getSelection(); | |
if (last && 0 < last.rangeCount) { | |
var c = end(); | |
if (c) { | |
el = c.Eb; | |
len = c.Yb; | |
} | |
} | |
c = shift(jQuery(s)); | |
s = c.nd; | |
if (0 == s.length) { | |
return false; | |
} | |
/** @type {number} */ | |
last = 0; | |
/** @type {number} */ | |
var n = s.length |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment