Skip to content

Instantly share code, notes, and snippets.

@jwerle
Created October 2, 2016 21:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jwerle/6b1bdf08f01a8cc0fe77ffba0324da18 to your computer and use it in GitHub Desktop.
Save jwerle/6b1bdf08f01a8cc0fe77ffba0324da18 to your computer and use it in GitHub Desktop.
requirebin sketch
const quat = require('gl-quat')
const regl = require('regl')()
const model = require('regl-model')(regl)
const bunny = require('regl-primitive')(regl, require('bunny'))
const camera = require('regl-camera')(regl, {distance: 40})
const material = regl({
vert: `
precision mediump float;
attribute vec3 position, normal;
uniform mat4 projection, model, view;
varying vec3 vnormal;
void main () {
vnormal = normal;
gl_Position = projection * view * model * vec4(position, 1.0);
}
`,
frag: `
precision mediump float;
varying vec3 vnormal;
void main () {
gl_FragColor = vec4(abs(vnormal), 1.0);
}
`,
})
const rotation = [0, 0, 0, 1]
regl.frame(({time}) => {
regl.clear({color: [0, 0, 0, 1], depth: true})
quat.identity(rotation)
quat.rotateX(rotation, rotation, 0.8*time)
quat.rotateY(rotation, rotation, 0.8*time)
camera(() => {
model({rotation}, () => {
material(() => {
bunny()
})
})
})
})
setTimeout(function(){
;require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
/**
* Adds two quat's
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @returns {quat} out
* @function
*/
module.exports = require('gl-vec4/add')
},{"gl-vec4/add":20}],2:[function(require,module,exports){
module.exports = calculateW
/**
* Calculates the W component of a quat from the X, Y, and Z components.
* Assumes that quaternion is 1 unit in length.
* Any existing W component will be ignored.
*
* @param {quat} out the receiving quaternion
* @param {quat} a quat to calculate W component of
* @returns {quat} out
*/
function calculateW (out, a) {
var x = a[0], y = a[1], z = a[2]
out[0] = x
out[1] = y
out[2] = z
out[3] = Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z))
return out
}
},{}],3:[function(require,module,exports){
/**
* Creates a new quat initialized with values from an existing quaternion
*
* @param {quat} a quaternion to clone
* @returns {quat} a new quaternion
* @function
*/
module.exports = require('gl-vec4/clone')
},{"gl-vec4/clone":21}],4:[function(require,module,exports){
module.exports = conjugate
/**
* Calculates the conjugate of a quat
* If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.
*
* @param {quat} out the receiving quaternion
* @param {quat} a quat to calculate conjugate of
* @returns {quat} out
*/
function conjugate (out, a) {
out[0] = -a[0]
out[1] = -a[1]
out[2] = -a[2]
out[3] = a[3]
return out
}
},{}],5:[function(require,module,exports){
/**
* Copy the values from one quat to another
*
* @param {quat} out the receiving quaternion
* @param {quat} a the source quaternion
* @returns {quat} out
* @function
*/
module.exports = require('gl-vec4/copy')
},{"gl-vec4/copy":22}],6:[function(require,module,exports){
module.exports = create
/**
* Creates a new identity quat
*
* @returns {quat} a new quaternion
*/
function create () {
var out = new Float32Array(4)
out[0] = 0
out[1] = 0
out[2] = 0
out[3] = 1
return out
}
},{}],7:[function(require,module,exports){
/**
* Calculates the dot product of two quat's
*
* @param {quat} a the first operand
* @param {quat} b the second operand
* @returns {Number} dot product of a and b
* @function
*/
module.exports = require('gl-vec4/dot')
},{"gl-vec4/dot":23}],8:[function(require,module,exports){
module.exports = fromMat3
/**
* Creates a quaternion from the given 3x3 rotation matrix.
*
* NOTE: The resultant quaternion is not normalized, so you should be sure
* to renormalize the quaternion yourself where necessary.
*
* @param {quat} out the receiving quaternion
* @param {mat3} m rotation matrix
* @returns {quat} out
* @function
*/
function fromMat3 (out, m) {
// Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes
// article "Quaternion Calculus and Fast Animation".
var fTrace = m[0] + m[4] + m[8]
var fRoot
if (fTrace > 0.0) {
// |w| > 1/2, may as well choose w > 1/2
fRoot = Math.sqrt(fTrace + 1.0) // 2w
out[3] = 0.5 * fRoot
fRoot = 0.5 / fRoot // 1/(4w)
out[0] = (m[5] - m[7]) * fRoot
out[1] = (m[6] - m[2]) * fRoot
out[2] = (m[1] - m[3]) * fRoot
} else {
// |w| <= 1/2
var i = 0
if (m[4] > m[0]) {
i = 1
}
if (m[8] > m[i * 3 + i]) {
i = 2
}
var j = (i + 1) % 3
var k = (i + 2) % 3
fRoot = Math.sqrt(m[i * 3 + i] - m[j * 3 + j] - m[k * 3 + k] + 1.0)
out[i] = 0.5 * fRoot
fRoot = 0.5 / fRoot
out[3] = (m[j * 3 + k] - m[k * 3 + j]) * fRoot
out[j] = (m[j * 3 + i] + m[i * 3 + j]) * fRoot
out[k] = (m[k * 3 + i] + m[i * 3 + k]) * fRoot
}
return out
}
},{}],9:[function(require,module,exports){
/**
* Creates a new quat initialized with the given values
*
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {quat} a new quaternion
* @function
*/
module.exports = require('gl-vec4/fromValues')
},{"gl-vec4/fromValues":24}],10:[function(require,module,exports){
module.exports = identity
/**
* Set a quat to the identity quaternion
*
* @param {quat} out the receiving quaternion
* @returns {quat} out
*/
function identity (out) {
out[0] = 0
out[1] = 0
out[2] = 0
out[3] = 1
return out
}
},{}],11:[function(require,module,exports){
module.exports = invert
/**
* Calculates the inverse of a quat
*
* @param {quat} out the receiving quaternion
* @param {quat} a quat to calculate inverse of
* @returns {quat} out
*/
function invert (out, a) {
var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3],
dot = a0 * a0 + a1 * a1 + a2 * a2 + a3 * a3,
invDot = dot ? 1.0 / dot : 0
// TODO: Would be faster to return [0,0,0,0] immediately if dot == 0
out[0] = -a0 * invDot
out[1] = -a1 * invDot
out[2] = -a2 * invDot
out[3] = a3 * invDot
return out
}
},{}],12:[function(require,module,exports){
/**
* Calculates the length of a quat
*
* @param {quat} a vector to calculate length of
* @returns {Number} length of a
* @function
*/
module.exports = require('gl-vec4/length')
},{"gl-vec4/length":25}],13:[function(require,module,exports){
/**
* Performs a linear interpolation between two quat's
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {quat} out
* @function
*/
module.exports = require('gl-vec4/lerp')
},{"gl-vec4/lerp":26}],14:[function(require,module,exports){
module.exports = multiply
/**
* Multiplies two quat's
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @returns {quat} out
*/
function multiply (out, a, b) {
var ax = a[0], ay = a[1], az = a[2], aw = a[3],
bx = b[0], by = b[1], bz = b[2], bw = b[3]
out[0] = ax * bw + aw * bx + ay * bz - az * by
out[1] = ay * bw + aw * by + az * bx - ax * bz
out[2] = az * bw + aw * bz + ax * by - ay * bx
out[3] = aw * bw - ax * bx - ay * by - az * bz
return out
}
},{}],15:[function(require,module,exports){
module.exports = create
/**
* Creates a new identity mat3
*
* @alias mat3.create
* @returns {mat3} a new 3x3 matrix
*/
function create() {
var out = new Float32Array(9)
out[0] = 1
out[1] = 0
out[2] = 0
out[3] = 0
out[4] = 1
out[5] = 0
out[6] = 0
out[7] = 0
out[8] = 1
return out
}
},{}],16:[function(require,module,exports){
module.exports = cross;
/**
* Computes the cross product of two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function cross(out, a, b) {
var ax = a[0], ay = a[1], az = a[2],
bx = b[0], by = b[1], bz = b[2]
out[0] = ay * bz - az * by
out[1] = az * bx - ax * bz
out[2] = ax * by - ay * bx
return out
}
},{}],17:[function(require,module,exports){
module.exports = dot;
/**
* Calculates the dot product of two vec3's
*
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {Number} dot product of a and b
*/
function dot(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]
}
},{}],18:[function(require,module,exports){
module.exports = length;
/**
* Calculates the length of a vec3
*
* @param {vec3} a vector to calculate length of
* @returns {Number} length of a
*/
function length(a) {
var x = a[0],
y = a[1],
z = a[2]
return Math.sqrt(x*x + y*y + z*z)
}
},{}],19:[function(require,module,exports){
module.exports = normalize;
/**
* Normalize a vec3
*
* @param {vec3} out the receiving vector
* @param {vec3} a vector to normalize
* @returns {vec3} out
*/
function normalize(out, a) {
var x = a[0],
y = a[1],
z = a[2]
var len = x*x + y*y + z*z
if (len > 0) {
//TODO: evaluate use of glm_invsqrt here?
len = 1 / Math.sqrt(len)
out[0] = a[0] * len
out[1] = a[1] * len
out[2] = a[2] * len
}
return out
}
},{}],20:[function(require,module,exports){
module.exports = add
/**
* Adds two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {vec4} out
*/
function add (out, a, b) {
out[0] = a[0] + b[0]
out[1] = a[1] + b[1]
out[2] = a[2] + b[2]
out[3] = a[3] + b[3]
return out
}
},{}],21:[function(require,module,exports){
module.exports = clone
/**
* Creates a new vec4 initialized with values from an existing vector
*
* @param {vec4} a vector to clone
* @returns {vec4} a new 4D vector
*/
function clone (a) {
var out = new Float32Array(4)
out[0] = a[0]
out[1] = a[1]
out[2] = a[2]
out[3] = a[3]
return out
}
},{}],22:[function(require,module,exports){
module.exports = copy
/**
* Copy the values from one vec4 to another
*
* @param {vec4} out the receiving vector
* @param {vec4} a the source vector
* @returns {vec4} out
*/
function copy (out, a) {
out[0] = a[0]
out[1] = a[1]
out[2] = a[2]
out[3] = a[3]
return out
}
},{}],23:[function(require,module,exports){
module.exports = dot
/**
* Calculates the dot product of two vec4's
*
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {Number} dot product of a and b
*/
function dot (a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]
}
},{}],24:[function(require,module,exports){
module.exports = fromValues
/**
* Creates a new vec4 initialized with the given values
*
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {vec4} a new 4D vector
*/
function fromValues (x, y, z, w) {
var out = new Float32Array(4)
out[0] = x
out[1] = y
out[2] = z
out[3] = w
return out
}
},{}],25:[function(require,module,exports){
module.exports = length
/**
* Calculates the length of a vec4
*
* @param {vec4} a vector to calculate length of
* @returns {Number} length of a
*/
function length (a) {
var x = a[0],
y = a[1],
z = a[2],
w = a[3]
return Math.sqrt(x * x + y * y + z * z + w * w)
}
},{}],26:[function(require,module,exports){
module.exports = lerp
/**
* Performs a linear interpolation between two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {vec4} out
*/
function lerp (out, a, b, t) {
var ax = a[0],
ay = a[1],
az = a[2],
aw = a[3]
out[0] = ax + t * (b[0] - ax)
out[1] = ay + t * (b[1] - ay)
out[2] = az + t * (b[2] - az)
out[3] = aw + t * (b[3] - aw)
return out
}
},{}],27:[function(require,module,exports){
module.exports = normalize
/**
* Normalize a vec4
*
* @param {vec4} out the receiving vector
* @param {vec4} a vector to normalize
* @returns {vec4} out
*/
function normalize (out, a) {
var x = a[0],
y = a[1],
z = a[2],
w = a[3]
var len = x * x + y * y + z * z + w * w
if (len > 0) {
len = 1 / Math.sqrt(len)
out[0] = x * len
out[1] = y * len
out[2] = z * len
out[3] = w * len
}
return out
}
},{}],28:[function(require,module,exports){
module.exports = scale
/**
* Scales a vec4 by a scalar number
*
* @param {vec4} out the receiving vector
* @param {vec4} a the vector to scale
* @param {Number} b amount to scale the vector by
* @returns {vec4} out
*/
function scale (out, a, b) {
out[0] = a[0] * b
out[1] = a[1] * b
out[2] = a[2] * b
out[3] = a[3] * b
return out
}
},{}],29:[function(require,module,exports){
module.exports = set
/**
* Set the components of a vec4 to the given values
*
* @param {vec4} out the receiving vector
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {vec4} out
*/
function set (out, x, y, z, w) {
out[0] = x
out[1] = y
out[2] = z
out[3] = w
return out
}
},{}],30:[function(require,module,exports){
module.exports = squaredLength
/**
* Calculates the squared length of a vec4
*
* @param {vec4} a vector to calculate squared length of
* @returns {Number} squared length of a
*/
function squaredLength (a) {
var x = a[0],
y = a[1],
z = a[2],
w = a[3]
return x * x + y * y + z * z + w * w
}
},{}],31:[function(require,module,exports){
/**
* Normalize a quat
*
* @param {quat} out the receiving quaternion
* @param {quat} a quaternion to normalize
* @returns {quat} out
* @function
*/
module.exports = require('gl-vec4/normalize')
},{"gl-vec4/normalize":27}],32:[function(require,module,exports){
module.exports = rotateX
/**
* Rotates a quaternion by the given angle about the X axis
*
* @param {quat} out quat receiving operation result
* @param {quat} a quat to rotate
* @param {number} rad angle (in radians) to rotate
* @returns {quat} out
*/
function rotateX (out, a, rad) {
rad *= 0.5
var ax = a[0], ay = a[1], az = a[2], aw = a[3],
bx = Math.sin(rad), bw = Math.cos(rad)
out[0] = ax * bw + aw * bx
out[1] = ay * bw + az * bx
out[2] = az * bw - ay * bx
out[3] = aw * bw - ax * bx
return out
}
},{}],33:[function(require,module,exports){
module.exports = rotateY
/**
* Rotates a quaternion by the given angle about the Y axis
*
* @param {quat} out quat receiving operation result
* @param {quat} a quat to rotate
* @param {number} rad angle (in radians) to rotate
* @returns {quat} out
*/
function rotateY (out, a, rad) {
rad *= 0.5
var ax = a[0], ay = a[1], az = a[2], aw = a[3],
by = Math.sin(rad), bw = Math.cos(rad)
out[0] = ax * bw - az * by
out[1] = ay * bw + aw * by
out[2] = az * bw + ax * by
out[3] = aw * bw - ay * by
return out
}
},{}],34:[function(require,module,exports){
module.exports = rotateZ
/**
* Rotates a quaternion by the given angle about the Z axis
*
* @param {quat} out quat receiving operation result
* @param {quat} a quat to rotate
* @param {number} rad angle (in radians) to rotate
* @returns {quat} out
*/
function rotateZ (out, a, rad) {
rad *= 0.5
var ax = a[0], ay = a[1], az = a[2], aw = a[3],
bz = Math.sin(rad), bw = Math.cos(rad)
out[0] = ax * bw + ay * bz
out[1] = ay * bw - ax * bz
out[2] = az * bw + aw * bz
out[3] = aw * bw - az * bz
return out
}
},{}],35:[function(require,module,exports){
var vecDot = require('gl-vec3/dot')
var vecCross = require('gl-vec3/cross')
var vecLength = require('gl-vec3/length')
var vecNormalize = require('gl-vec3/normalize')
var quatNormalize = require('./normalize')
var quatAxisAngle = require('./setAxisAngle')
module.exports = rotationTo
var tmpvec3 = [0, 0, 0]
var xUnitVec3 = [1, 0, 0]
var yUnitVec3 = [0, 1, 0]
/**
* Sets a quaternion to represent the shortest rotation from one
* vector to another.
*
* Both vectors are assumed to be unit length.
*
* @param {quat} out the receiving quaternion.
* @param {vec3} a the initial vector
* @param {vec3} b the destination vector
* @returns {quat} out
*/
function rotationTo (out, a, b) {
var dot = vecDot(a, b)
if (dot < -0.999999) {
vecCross(tmpvec3, xUnitVec3, a)
if (vecLength(tmpvec3) < 0.000001) {
vecCross(tmpvec3, yUnitVec3, a)
}
vecNormalize(tmpvec3, tmpvec3)
quatAxisAngle(out, tmpvec3, Math.PI)
return out
} else if (dot > 0.999999) {
out[0] = 0
out[1] = 0
out[2] = 0
out[3] = 1
return out
} else {
vecCross(tmpvec3, a, b)
out[0] = tmpvec3[0]
out[1] = tmpvec3[1]
out[2] = tmpvec3[2]
out[3] = 1 + dot
return quatNormalize(out, out)
}
}
},{"./normalize":31,"./setAxisAngle":39,"gl-vec3/cross":16,"gl-vec3/dot":17,"gl-vec3/length":18,"gl-vec3/normalize":19}],36:[function(require,module,exports){
/**
* Scales a quat by a scalar number
*
* @param {quat} out the receiving vector
* @param {quat} a the vector to scale
* @param {Number} b amount to scale the vector by
* @returns {quat} out
* @function
*/
module.exports = require('gl-vec4/scale')
},{"gl-vec4/scale":28}],37:[function(require,module,exports){
/**
* Set the components of a quat to the given values
*
* @param {quat} out the receiving quaternion
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {quat} out
* @function
*/
module.exports = require('gl-vec4/set')
},{"gl-vec4/set":29}],38:[function(require,module,exports){
var mat3create = require('gl-mat3/create')
var fromMat3 = require('./fromMat3')
var normalize = require('./normalize')
module.exports = setAxes
var matr = mat3create()
/**
* Sets the specified quaternion with values corresponding to the given
* axes. Each axis is a vec3 and is expected to be unit length and
* perpendicular to all other specified axes.
*
* @param {vec3} view the vector representing the viewing direction
* @param {vec3} right the vector representing the local "right" direction
* @param {vec3} up the vector representing the local "up" direction
* @returns {quat} out
*/
function setAxes (out, view, right, up) {
matr[0] = right[0]
matr[3] = right[1]
matr[6] = right[2]
matr[1] = up[0]
matr[4] = up[1]
matr[7] = up[2]
matr[2] = -view[0]
matr[5] = -view[1]
matr[8] = -view[2]
return normalize(out, fromMat3(out, matr))
}
},{"./fromMat3":8,"./normalize":31,"gl-mat3/create":15}],39:[function(require,module,exports){
module.exports = setAxisAngle
/**
* Sets a quat from the given angle and rotation axis,
* then returns it.
*
* @param {quat} out the receiving quaternion
* @param {vec3} axis the axis around which to rotate
* @param {Number} rad the angle in radians
* @returns {quat} out
**/
function setAxisAngle (out, axis, rad) {
rad = rad * 0.5
var s = Math.sin(rad)
out[0] = s * axis[0]
out[1] = s * axis[1]
out[2] = s * axis[2]
out[3] = Math.cos(rad)
return out
}
},{}],40:[function(require,module,exports){
module.exports = slerp
/**
* Performs a spherical linear interpolation between two quat
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {quat} out
*/
function slerp (out, a, b, t) {
// benchmarks:
// http://jsperf.com/quaternion-slerp-implementations
var ax = a[0], ay = a[1], az = a[2], aw = a[3],
bx = b[0], by = b[1], bz = b[2], bw = b[3]
var omega, cosom, sinom, scale0, scale1
// calc cosine
cosom = ax * bx + ay * by + az * bz + aw * bw
// adjust signs (if necessary)
if (cosom < 0.0) {
cosom = -cosom
bx = -bx
by = -by
bz = -bz
bw = -bw
}
// calculate coefficients
if ((1.0 - cosom) > 0.000001) {
// standard case (slerp)
omega = Math.acos(cosom)
sinom = Math.sin(omega)
scale0 = Math.sin((1.0 - t) * omega) / sinom
scale1 = Math.sin(t * omega) / sinom
} else {
// "from" and "to" quaternions are very close
// ... so we can do a linear interpolation
scale0 = 1.0 - t
scale1 = t
}
// calculate final values
out[0] = scale0 * ax + scale1 * bx
out[1] = scale0 * ay + scale1 * by
out[2] = scale0 * az + scale1 * bz
out[3] = scale0 * aw + scale1 * bw
return out
}
},{}],41:[function(require,module,exports){
var slerp = require('./slerp')
module.exports = sqlerp
var temp1 = [0, 0, 0, 1]
var temp2 = [0, 0, 0, 1]
/**
* Performs a spherical linear interpolation with two control points
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @param {quat} c the third operand
* @param {quat} d the fourth operand
* @param {Number} t interpolation amount
* @returns {quat} out
*/
function sqlerp (out, a, b, c, d, t) {
slerp(temp1, a, d, t)
slerp(temp2, b, c, t)
slerp(out, temp1, temp2, 2 * t * (1 - t))
return out
}
},{"./slerp":40}],42:[function(require,module,exports){
/**
* Calculates the squared length of a quat
*
* @param {quat} a vector to calculate squared length of
* @returns {Number} squared length of a
* @function
*/
module.exports = require('gl-vec4/squaredLength')
},{"gl-vec4/squaredLength":30}],"gl-quat":[function(require,module,exports){
module.exports = {
add: require('./add'),
calculateW: require('./calculateW'),
clone: require('./clone'),
conjugate: require('./conjugate'),
copy: require('./copy'),
create: require('./create'),
dot: require('./dot'),
fromMat3: require('./fromMat3'),
fromValues: require('./fromValues'),
identity: require('./identity'),
invert: require('./invert'),
length: require('./length'),
lerp: require('./lerp'),
multiply: require('./multiply'),
normalize: require('./normalize'),
rotateX: require('./rotateX'),
rotateY: require('./rotateY'),
rotateZ: require('./rotateZ'),
rotationTo: require('./rotationTo'),
scale: require('./scale'),
set: require('./set'),
setAxes: require('./setAxes'),
setAxisAngle: require('./setAxisAngle'),
slerp: require('./slerp'),
sqlerp: require('./sqlerp'),
squaredLength: require('./squaredLength')
}
},{"./add":1,"./calculateW":2,"./clone":3,"./conjugate":4,"./copy":5,"./create":6,"./dot":7,"./fromMat3":8,"./fromValues":9,"./identity":10,"./invert":11,"./length":12,"./lerp":13,"./multiply":14,"./normalize":31,"./rotateX":32,"./rotateY":33,"./rotateZ":34,"./rotationTo":35,"./scale":36,"./set":37,"./setAxes":38,"./setAxisAngle":39,"./slerp":40,"./sqlerp":41,"./squaredLength":42}]},{},[])
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsImFkZC5qcyIsImNhbGN1bGF0ZVcuanMiLCJjbG9uZS5qcyIsImNvbmp1Z2F0ZS5qcyIsImNvcHkuanMiLCJjcmVhdGUuanMiLCJkb3QuanMiLCJmcm9tTWF0My5qcyIsImZyb21WYWx1ZXMuanMiLCJpZGVudGl0eS5qcyIsImludmVydC5qcyIsImxlbmd0aC5qcyIsImxlcnAuanMiLCJtdWx0aXBseS5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQzL2NyZWF0ZS5qcyIsIm5vZGVfbW9kdWxlcy9nbC12ZWMzL2Nyb3NzLmpzIiwibm9kZV9tb2R1bGVzL2dsLXZlYzMvZG90LmpzIiwibm9kZV9tb2R1bGVzL2dsLXZlYzMvbGVuZ3RoLmpzIiwibm9kZV9tb2R1bGVzL2dsLXZlYzMvbm9ybWFsaXplLmpzIiwibm9kZV9tb2R1bGVzL2dsLXZlYzQvYWRkLmpzIiwibm9kZV9tb2R1bGVzL2dsLXZlYzQvY2xvbmUuanMiLCJub2RlX21vZHVsZXMvZ2wtdmVjNC9jb3B5LmpzIiwibm9kZV9tb2R1bGVzL2dsLXZlYzQvZG90LmpzIiwibm9kZV9tb2R1bGVzL2dsLXZlYzQvZnJvbVZhbHVlcy5qcyIsIm5vZGVfbW9kdWxlcy9nbC12ZWM0L2xlbmd0aC5qcyIsIm5vZGVfbW9kdWxlcy9nbC12ZWM0L2xlcnAuanMiLCJub2RlX21vZHVsZXMvZ2wtdmVjNC9ub3JtYWxpemUuanMiLCJub2RlX21vZHVsZXMvZ2wtdmVjNC9zY2FsZS5qcyIsIm5vZGVfbW9kdWxlcy9nbC12ZWM0L3NldC5qcyIsIm5vZGVfbW9kdWxlcy9nbC12ZWM0L3NxdWFyZWRMZW5ndGguanMiLCJub3JtYWxpemUuanMiLCJyb3RhdGVYLmpzIiwicm90YXRlWS5qcyIsInJvdGF0ZVouanMiLCJyb3RhdGlvblRvLmpzIiwic2NhbGUuanMiLCJzZXQuanMiLCJzZXRBeGVzLmpzIiwic2V0QXhpc0FuZ2xlLmpzIiwic2xlcnAuanMiLCJzcWxlcnAuanMiLCJzcXVhcmVkTGVuZ3RoLmpzIiwiaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNqREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDeEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2xEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2pDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ25EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCIvKipcbiAqIEFkZHMgdHdvIHF1YXQnc1xuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHtxdWF0fSBhIHRoZSBmaXJzdCBvcGVyYW5kXG4gKiBAcGFyYW0ge3F1YXR9IGIgdGhlIHNlY29uZCBvcGVyYW5kXG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKiBAZnVuY3Rpb25cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCdnbC12ZWM0L2FkZCcpXG4iLCJtb2R1bGUuZXhwb3J0cyA9IGNhbGN1bGF0ZVdcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBXIGNvbXBvbmVudCBvZiBhIHF1YXQgZnJvbSB0aGUgWCwgWSwgYW5kIFogY29tcG9uZW50cy5cbiAqIEFzc3VtZXMgdGhhdCBxdWF0ZXJuaW9uIGlzIDEgdW5pdCBpbiBsZW5ndGguXG4gKiBBbnkgZXhpc3RpbmcgVyBjb21wb25lbnQgd2lsbCBiZSBpZ25vcmVkLlxuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHtxdWF0fSBhIHF1YXQgdG8gY2FsY3VsYXRlIFcgY29tcG9uZW50IG9mXG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZVcgKG91dCwgYSkge1xuICB2YXIgeCA9IGFbMF0sIHkgPSBhWzFdLCB6ID0gYVsyXVxuXG4gIG91dFswXSA9IHhcbiAgb3V0WzFdID0geVxuICBvdXRbMl0gPSB6XG4gIG91dFszXSA9IE1hdGguc3FydChNYXRoLmFicygxLjAgLSB4ICogeCAtIHkgKiB5IC0geiAqIHopKVxuICByZXR1cm4gb3V0XG59XG4iLCIvKipcbiAqIENyZWF0ZXMgYSBuZXcgcXVhdCBpbml0aWFsaXplZCB3aXRoIHZhbHVlcyBmcm9tIGFuIGV4aXN0aW5nIHF1YXRlcm5pb25cbiAqXG4gKiBAcGFyYW0ge3F1YXR9IGEgcXVhdGVybmlvbiB0byBjbG9uZVxuICogQHJldHVybnMge3F1YXR9IGEgbmV3IHF1YXRlcm5pb25cbiAqIEBmdW5jdGlvblxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJ2dsLXZlYzQvY2xvbmUnKVxuIiwibW9kdWxlLmV4cG9ydHMgPSBjb25qdWdhdGVcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBjb25qdWdhdGUgb2YgYSBxdWF0XG4gKiBJZiB0aGUgcXVhdGVybmlvbiBpcyBub3JtYWxpemVkLCB0aGlzIGZ1bmN0aW9uIGlzIGZhc3RlciB0aGFuIHF1YXQuaW52ZXJzZSBhbmQgcHJvZHVjZXMgdGhlIHNhbWUgcmVzdWx0LlxuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHtxdWF0fSBhIHF1YXQgdG8gY2FsY3VsYXRlIGNvbmp1Z2F0ZSBvZlxuICogQHJldHVybnMge3F1YXR9IG91dFxuICovXG5mdW5jdGlvbiBjb25qdWdhdGUgKG91dCwgYSkge1xuICBvdXRbMF0gPSAtYVswXVxuICBvdXRbMV0gPSAtYVsxXVxuICBvdXRbMl0gPSAtYVsyXVxuICBvdXRbM10gPSBhWzNdXG4gIHJldHVybiBvdXRcbn1cbiIsIi8qKlxuICogQ29weSB0aGUgdmFsdWVzIGZyb20gb25lIHF1YXQgdG8gYW5vdGhlclxuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHtxdWF0fSBhIHRoZSBzb3VyY2UgcXVhdGVybmlvblxuICogQHJldHVybnMge3F1YXR9IG91dFxuICogQGZ1bmN0aW9uXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnZ2wtdmVjNC9jb3B5JylcbiIsIm1vZHVsZS5leHBvcnRzID0gY3JlYXRlXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpZGVudGl0eSBxdWF0XG4gKlxuICogQHJldHVybnMge3F1YXR9IGEgbmV3IHF1YXRlcm5pb25cbiAqL1xuZnVuY3Rpb24gY3JlYXRlICgpIHtcbiAgdmFyIG91dCA9IG5ldyBGbG9hdDMyQXJyYXkoNClcbiAgb3V0WzBdID0gMFxuICBvdXRbMV0gPSAwXG4gIG91dFsyXSA9IDBcbiAgb3V0WzNdID0gMVxuICByZXR1cm4gb3V0XG59XG4iLCIvKipcbiAqIENhbGN1bGF0ZXMgdGhlIGRvdCBwcm9kdWN0IG9mIHR3byBxdWF0J3NcbiAqXG4gKiBAcGFyYW0ge3F1YXR9IGEgdGhlIGZpcnN0IG9wZXJhbmRcbiAqIEBwYXJhbSB7cXVhdH0gYiB0aGUgc2Vjb25kIG9wZXJhbmRcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IGRvdCBwcm9kdWN0IG9mIGEgYW5kIGJcbiAqIEBmdW5jdGlvblxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJ2dsLXZlYzQvZG90JylcbiIsIm1vZHVsZS5leHBvcnRzID0gZnJvbU1hdDNcblxuLyoqXG4gKiBDcmVhdGVzIGEgcXVhdGVybmlvbiBmcm9tIHRoZSBnaXZlbiAzeDMgcm90YXRpb24gbWF0cml4LlxuICpcbiAqIE5PVEU6IFRoZSByZXN1bHRhbnQgcXVhdGVybmlvbiBpcyBub3Qgbm9ybWFsaXplZCwgc28geW91IHNob3VsZCBiZSBzdXJlXG4gKiB0byByZW5vcm1hbGl6ZSB0aGUgcXVhdGVybmlvbiB5b3Vyc2VsZiB3aGVyZSBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHtxdWF0fSBvdXQgdGhlIHJlY2VpdmluZyBxdWF0ZXJuaW9uXG4gKiBAcGFyYW0ge21hdDN9IG0gcm90YXRpb24gbWF0cml4XG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKiBAZnVuY3Rpb25cbiAqL1xuZnVuY3Rpb24gZnJvbU1hdDMgKG91dCwgbSkge1xuICAvLyBBbGdvcml0aG0gaW4gS2VuIFNob2VtYWtlJ3MgYXJ0aWNsZSBpbiAxOTg3IFNJR0dSQVBIIGNvdXJzZSBub3Rlc1xuICAvLyBhcnRpY2xlIFwiUXVhdGVybmlvbiBDYWxjdWx1cyBhbmQgRmFzdCBBbmltYXRpb25cIi5cbiAgdmFyIGZUcmFjZSA9IG1bMF0gKyBtWzRdICsgbVs4XVxuICB2YXIgZlJvb3RcblxuICBpZiAoZlRyYWNlID4gMC4wKSB7XG4gICAgLy8gfHd8ID4gMS8yLCBtYXkgYXMgd2VsbCBjaG9vc2UgdyA+IDEvMlxuICAgIGZSb290ID0gTWF0aC5zcXJ0KGZUcmFjZSArIDEuMCkgIC8vIDJ3XG4gICAgb3V0WzNdID0gMC41ICogZlJvb3RcbiAgICBmUm9vdCA9IDAuNSAvIGZSb290ICAvLyAxLyg0dylcbiAgICBvdXRbMF0gPSAobVs1XSAtIG1bN10pICogZlJvb3RcbiAgICBvdXRbMV0gPSAobVs2XSAtIG1bMl0pICogZlJvb3RcbiAgICBvdXRbMl0gPSAobVsxXSAtIG1bM10pICogZlJvb3RcbiAgfSBlbHNlIHtcbiAgICAvLyB8d3wgPD0gMS8yXG4gICAgdmFyIGkgPSAwXG4gICAgaWYgKG1bNF0gPiBtWzBdKSB7XG4gICAgICBpID0gMVxuICAgIH1cbiAgICBpZiAobVs4XSA+IG1baSAqIDMgKyBpXSkge1xuICAgICAgaSA9IDJcbiAgICB9XG4gICAgdmFyIGogPSAoaSArIDEpICUgM1xuICAgIHZhciBrID0gKGkgKyAyKSAlIDNcblxuICAgIGZSb290ID0gTWF0aC5zcXJ0KG1baSAqIDMgKyBpXSAtIG1baiAqIDMgKyBqXSAtIG1bayAqIDMgKyBrXSArIDEuMClcbiAgICBvdXRbaV0gPSAwLjUgKiBmUm9vdFxuICAgIGZSb290ID0gMC41IC8gZlJvb3RcbiAgICBvdXRbM10gPSAobVtqICogMyArIGtdIC0gbVtrICogMyArIGpdKSAqIGZSb290XG4gICAgb3V0W2pdID0gKG1baiAqIDMgKyBpXSArIG1baSAqIDMgKyBqXSkgKiBmUm9vdFxuICAgIG91dFtrXSA9IChtW2sgKiAzICsgaV0gKyBtW2kgKiAzICsga10pICogZlJvb3RcbiAgfVxuXG4gIHJldHVybiBvdXRcbn1cbiIsIi8qKlxuICogQ3JlYXRlcyBhIG5ldyBxdWF0IGluaXRpYWxpemVkIHdpdGggdGhlIGdpdmVuIHZhbHVlc1xuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSB4IFggY29tcG9uZW50XG4gKiBAcGFyYW0ge051bWJlcn0geSBZIGNvbXBvbmVudFxuICogQHBhcmFtIHtOdW1iZXJ9IHogWiBjb21wb25lbnRcbiAqIEBwYXJhbSB7TnVtYmVyfSB3IFcgY29tcG9uZW50XG4gKiBAcmV0dXJucyB7cXVhdH0gYSBuZXcgcXVhdGVybmlvblxuICogQGZ1bmN0aW9uXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnZ2wtdmVjNC9mcm9tVmFsdWVzJylcbiIsIm1vZHVsZS5leHBvcnRzID0gaWRlbnRpdHlcblxuLyoqXG4gKiBTZXQgYSBxdWF0IHRvIHRoZSBpZGVudGl0eSBxdWF0ZXJuaW9uXG4gKlxuICogQHBhcmFtIHtxdWF0fSBvdXQgdGhlIHJlY2VpdmluZyBxdWF0ZXJuaW9uXG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGlkZW50aXR5IChvdXQpIHtcbiAgb3V0WzBdID0gMFxuICBvdXRbMV0gPSAwXG4gIG91dFsyXSA9IDBcbiAgb3V0WzNdID0gMVxuICByZXR1cm4gb3V0XG59XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGludmVydFxuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGludmVyc2Ugb2YgYSBxdWF0XG4gKlxuICogQHBhcmFtIHtxdWF0fSBvdXQgdGhlIHJlY2VpdmluZyBxdWF0ZXJuaW9uXG4gKiBAcGFyYW0ge3F1YXR9IGEgcXVhdCB0byBjYWxjdWxhdGUgaW52ZXJzZSBvZlxuICogQHJldHVybnMge3F1YXR9IG91dFxuICovXG5mdW5jdGlvbiBpbnZlcnQgKG91dCwgYSkge1xuICB2YXIgYTAgPSBhWzBdLCBhMSA9IGFbMV0sIGEyID0gYVsyXSwgYTMgPSBhWzNdLFxuICAgIGRvdCA9IGEwICogYTAgKyBhMSAqIGExICsgYTIgKiBhMiArIGEzICogYTMsXG4gICAgaW52RG90ID0gZG90ID8gMS4wIC8gZG90IDogMFxuXG4gIC8vIFRPRE86IFdvdWxkIGJlIGZhc3RlciB0byByZXR1cm4gWzAsMCwwLDBdIGltbWVkaWF0ZWx5IGlmIGRvdCA9PSAwXG5cbiAgb3V0WzBdID0gLWEwICogaW52RG90XG4gIG91dFsxXSA9IC1hMSAqIGludkRvdFxuICBvdXRbMl0gPSAtYTIgKiBpbnZEb3RcbiAgb3V0WzNdID0gYTMgKiBpbnZEb3RcbiAgcmV0dXJuIG91dFxufVxuIiwiLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBsZW5ndGggb2YgYSBxdWF0XG4gKlxuICogQHBhcmFtIHtxdWF0fSBhIHZlY3RvciB0byBjYWxjdWxhdGUgbGVuZ3RoIG9mXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBsZW5ndGggb2YgYVxuICogQGZ1bmN0aW9uXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnZ2wtdmVjNC9sZW5ndGgnKVxuIiwiLyoqXG4gKiBQZXJmb3JtcyBhIGxpbmVhciBpbnRlcnBvbGF0aW9uIGJldHdlZW4gdHdvIHF1YXQnc1xuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHtxdWF0fSBhIHRoZSBmaXJzdCBvcGVyYW5kXG4gKiBAcGFyYW0ge3F1YXR9IGIgdGhlIHNlY29uZCBvcGVyYW5kXG4gKiBAcGFyYW0ge051bWJlcn0gdCBpbnRlcnBvbGF0aW9uIGFtb3VudCBiZXR3ZWVuIHRoZSB0d28gaW5wdXRzXG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKiBAZnVuY3Rpb25cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCdnbC12ZWM0L2xlcnAnKVxuIiwibW9kdWxlLmV4cG9ydHMgPSBtdWx0aXBseVxuXG4vKipcbiAqIE11bHRpcGxpZXMgdHdvIHF1YXQnc1xuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHtxdWF0fSBhIHRoZSBmaXJzdCBvcGVyYW5kXG4gKiBAcGFyYW0ge3F1YXR9IGIgdGhlIHNlY29uZCBvcGVyYW5kXG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKi9cbmZ1bmN0aW9uIG11bHRpcGx5IChvdXQsIGEsIGIpIHtcbiAgdmFyIGF4ID0gYVswXSwgYXkgPSBhWzFdLCBheiA9IGFbMl0sIGF3ID0gYVszXSxcbiAgICBieCA9IGJbMF0sIGJ5ID0gYlsxXSwgYnogPSBiWzJdLCBidyA9IGJbM11cblxuICBvdXRbMF0gPSBheCAqIGJ3ICsgYXcgKiBieCArIGF5ICogYnogLSBheiAqIGJ5XG4gIG91dFsxXSA9IGF5ICogYncgKyBhdyAqIGJ5ICsgYXogKiBieCAtIGF4ICogYnpcbiAgb3V0WzJdID0gYXogKiBidyArIGF3ICogYnogKyBheCAqIGJ5IC0gYXkgKiBieFxuICBvdXRbM10gPSBhdyAqIGJ3IC0gYXggKiBieCAtIGF5ICogYnkgLSBheiAqIGJ6XG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gY3JlYXRlXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpZGVudGl0eSBtYXQzXG4gKlxuICogQGFsaWFzIG1hdDMuY3JlYXRlXG4gKiBAcmV0dXJucyB7bWF0M30gYSBuZXcgM3gzIG1hdHJpeFxuICovXG5mdW5jdGlvbiBjcmVhdGUoKSB7XG4gIHZhciBvdXQgPSBuZXcgRmxvYXQzMkFycmF5KDkpXG4gIG91dFswXSA9IDFcbiAgb3V0WzFdID0gMFxuICBvdXRbMl0gPSAwXG4gIG91dFszXSA9IDBcbiAgb3V0WzRdID0gMVxuICBvdXRbNV0gPSAwXG4gIG91dFs2XSA9IDBcbiAgb3V0WzddID0gMFxuICBvdXRbOF0gPSAxXG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gY3Jvc3M7XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGNyb3NzIHByb2R1Y3Qgb2YgdHdvIHZlYzMnc1xuICpcbiAqIEBwYXJhbSB7dmVjM30gb3V0IHRoZSByZWNlaXZpbmcgdmVjdG9yXG4gKiBAcGFyYW0ge3ZlYzN9IGEgdGhlIGZpcnN0IG9wZXJhbmRcbiAqIEBwYXJhbSB7dmVjM30gYiB0aGUgc2Vjb25kIG9wZXJhbmRcbiAqIEByZXR1cm5zIHt2ZWMzfSBvdXRcbiAqL1xuZnVuY3Rpb24gY3Jvc3Mob3V0LCBhLCBiKSB7XG4gICAgdmFyIGF4ID0gYVswXSwgYXkgPSBhWzFdLCBheiA9IGFbMl0sXG4gICAgICAgIGJ4ID0gYlswXSwgYnkgPSBiWzFdLCBieiA9IGJbMl1cblxuICAgIG91dFswXSA9IGF5ICogYnogLSBheiAqIGJ5XG4gICAgb3V0WzFdID0gYXogKiBieCAtIGF4ICogYnpcbiAgICBvdXRbMl0gPSBheCAqIGJ5IC0gYXkgKiBieFxuICAgIHJldHVybiBvdXRcbn0iLCJtb2R1bGUuZXhwb3J0cyA9IGRvdDtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBkb3QgcHJvZHVjdCBvZiB0d28gdmVjMydzXG4gKlxuICogQHBhcmFtIHt2ZWMzfSBhIHRoZSBmaXJzdCBvcGVyYW5kXG4gKiBAcGFyYW0ge3ZlYzN9IGIgdGhlIHNlY29uZCBvcGVyYW5kXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBkb3QgcHJvZHVjdCBvZiBhIGFuZCBiXG4gKi9cbmZ1bmN0aW9uIGRvdChhLCBiKSB7XG4gICAgcmV0dXJuIGFbMF0gKiBiWzBdICsgYVsxXSAqIGJbMV0gKyBhWzJdICogYlsyXVxufSIsIm1vZHVsZS5leHBvcnRzID0gbGVuZ3RoO1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGxlbmd0aCBvZiBhIHZlYzNcbiAqXG4gKiBAcGFyYW0ge3ZlYzN9IGEgdmVjdG9yIHRvIGNhbGN1bGF0ZSBsZW5ndGggb2ZcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IGxlbmd0aCBvZiBhXG4gKi9cbmZ1bmN0aW9uIGxlbmd0aChhKSB7XG4gICAgdmFyIHggPSBhWzBdLFxuICAgICAgICB5ID0gYVsxXSxcbiAgICAgICAgeiA9IGFbMl1cbiAgICByZXR1cm4gTWF0aC5zcXJ0KHgqeCArIHkqeSArIHoqeilcbn0iLCJtb2R1bGUuZXhwb3J0cyA9IG5vcm1hbGl6ZTtcblxuLyoqXG4gKiBOb3JtYWxpemUgYSB2ZWMzXG4gKlxuICogQHBhcmFtIHt2ZWMzfSBvdXQgdGhlIHJlY2VpdmluZyB2ZWN0b3JcbiAqIEBwYXJhbSB7dmVjM30gYSB2ZWN0b3IgdG8gbm9ybWFsaXplXG4gKiBAcmV0dXJucyB7dmVjM30gb3V0XG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZShvdXQsIGEpIHtcbiAgICB2YXIgeCA9IGFbMF0sXG4gICAgICAgIHkgPSBhWzFdLFxuICAgICAgICB6ID0gYVsyXVxuICAgIHZhciBsZW4gPSB4KnggKyB5KnkgKyB6KnpcbiAgICBpZiAobGVuID4gMCkge1xuICAgICAgICAvL1RPRE86IGV2YWx1YXRlIHVzZSBvZiBnbG1faW52c3FydCBoZXJlP1xuICAgICAgICBsZW4gPSAxIC8gTWF0aC5zcXJ0KGxlbilcbiAgICAgICAgb3V0WzBdID0gYVswXSAqIGxlblxuICAgICAgICBvdXRbMV0gPSBhWzFdICogbGVuXG4gICAgICAgIG91dFsyXSA9IGFbMl0gKiBsZW5cbiAgICB9XG4gICAgcmV0dXJuIG91dFxufSIsIm1vZHVsZS5leHBvcnRzID0gYWRkXG5cbi8qKlxuICogQWRkcyB0d28gdmVjNCdzXG4gKlxuICogQHBhcmFtIHt2ZWM0fSBvdXQgdGhlIHJlY2VpdmluZyB2ZWN0b3JcbiAqIEBwYXJhbSB7dmVjNH0gYSB0aGUgZmlyc3Qgb3BlcmFuZFxuICogQHBhcmFtIHt2ZWM0fSBiIHRoZSBzZWNvbmQgb3BlcmFuZFxuICogQHJldHVybnMge3ZlYzR9IG91dFxuICovXG5mdW5jdGlvbiBhZGQgKG91dCwgYSwgYikge1xuICBvdXRbMF0gPSBhWzBdICsgYlswXVxuICBvdXRbMV0gPSBhWzFdICsgYlsxXVxuICBvdXRbMl0gPSBhWzJdICsgYlsyXVxuICBvdXRbM10gPSBhWzNdICsgYlszXVxuICByZXR1cm4gb3V0XG59XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGNsb25lXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyB2ZWM0IGluaXRpYWxpemVkIHdpdGggdmFsdWVzIGZyb20gYW4gZXhpc3RpbmcgdmVjdG9yXG4gKlxuICogQHBhcmFtIHt2ZWM0fSBhIHZlY3RvciB0byBjbG9uZVxuICogQHJldHVybnMge3ZlYzR9IGEgbmV3IDREIHZlY3RvclxuICovXG5mdW5jdGlvbiBjbG9uZSAoYSkge1xuICB2YXIgb3V0ID0gbmV3IEZsb2F0MzJBcnJheSg0KVxuICBvdXRbMF0gPSBhWzBdXG4gIG91dFsxXSA9IGFbMV1cbiAgb3V0WzJdID0gYVsyXVxuICBvdXRbM10gPSBhWzNdXG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gY29weVxuXG4vKipcbiAqIENvcHkgdGhlIHZhbHVlcyBmcm9tIG9uZSB2ZWM0IHRvIGFub3RoZXJcbiAqXG4gKiBAcGFyYW0ge3ZlYzR9IG91dCB0aGUgcmVjZWl2aW5nIHZlY3RvclxuICogQHBhcmFtIHt2ZWM0fSBhIHRoZSBzb3VyY2UgdmVjdG9yXG4gKiBAcmV0dXJucyB7dmVjNH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGNvcHkgKG91dCwgYSkge1xuICBvdXRbMF0gPSBhWzBdXG4gIG91dFsxXSA9IGFbMV1cbiAgb3V0WzJdID0gYVsyXVxuICBvdXRbM10gPSBhWzNdXG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gZG90XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgZG90IHByb2R1Y3Qgb2YgdHdvIHZlYzQnc1xuICpcbiAqIEBwYXJhbSB7dmVjNH0gYSB0aGUgZmlyc3Qgb3BlcmFuZFxuICogQHBhcmFtIHt2ZWM0fSBiIHRoZSBzZWNvbmQgb3BlcmFuZFxuICogQHJldHVybnMge051bWJlcn0gZG90IHByb2R1Y3Qgb2YgYSBhbmQgYlxuICovXG5mdW5jdGlvbiBkb3QgKGEsIGIpIHtcbiAgcmV0dXJuIGFbMF0gKiBiWzBdICsgYVsxXSAqIGJbMV0gKyBhWzJdICogYlsyXSArIGFbM10gKiBiWzNdXG59XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZyb21WYWx1ZXNcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHZlYzQgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgZ2l2ZW4gdmFsdWVzXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IHggWCBjb21wb25lbnRcbiAqIEBwYXJhbSB7TnVtYmVyfSB5IFkgY29tcG9uZW50XG4gKiBAcGFyYW0ge051bWJlcn0geiBaIGNvbXBvbmVudFxuICogQHBhcmFtIHtOdW1iZXJ9IHcgVyBjb21wb25lbnRcbiAqIEByZXR1cm5zIHt2ZWM0fSBhIG5ldyA0RCB2ZWN0b3JcbiAqL1xuZnVuY3Rpb24gZnJvbVZhbHVlcyAoeCwgeSwgeiwgdykge1xuICB2YXIgb3V0ID0gbmV3IEZsb2F0MzJBcnJheSg0KVxuICBvdXRbMF0gPSB4XG4gIG91dFsxXSA9IHlcbiAgb3V0WzJdID0gelxuICBvdXRbM10gPSB3XG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gbGVuZ3RoXG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgbGVuZ3RoIG9mIGEgdmVjNFxuICpcbiAqIEBwYXJhbSB7dmVjNH0gYSB2ZWN0b3IgdG8gY2FsY3VsYXRlIGxlbmd0aCBvZlxuICogQHJldHVybnMge051bWJlcn0gbGVuZ3RoIG9mIGFcbiAqL1xuZnVuY3Rpb24gbGVuZ3RoIChhKSB7XG4gIHZhciB4ID0gYVswXSxcbiAgICB5ID0gYVsxXSxcbiAgICB6ID0gYVsyXSxcbiAgICB3ID0gYVszXVxuICByZXR1cm4gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkgKyB6ICogeiArIHcgKiB3KVxufVxuIiwibW9kdWxlLmV4cG9ydHMgPSBsZXJwXG5cbi8qKlxuICogUGVyZm9ybXMgYSBsaW5lYXIgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIHR3byB2ZWM0J3NcbiAqXG4gKiBAcGFyYW0ge3ZlYzR9IG91dCB0aGUgcmVjZWl2aW5nIHZlY3RvclxuICogQHBhcmFtIHt2ZWM0fSBhIHRoZSBmaXJzdCBvcGVyYW5kXG4gKiBAcGFyYW0ge3ZlYzR9IGIgdGhlIHNlY29uZCBvcGVyYW5kXG4gKiBAcGFyYW0ge051bWJlcn0gdCBpbnRlcnBvbGF0aW9uIGFtb3VudCBiZXR3ZWVuIHRoZSB0d28gaW5wdXRzXG4gKiBAcmV0dXJucyB7dmVjNH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGxlcnAgKG91dCwgYSwgYiwgdCkge1xuICB2YXIgYXggPSBhWzBdLFxuICAgIGF5ID0gYVsxXSxcbiAgICBheiA9IGFbMl0sXG4gICAgYXcgPSBhWzNdXG4gIG91dFswXSA9IGF4ICsgdCAqIChiWzBdIC0gYXgpXG4gIG91dFsxXSA9IGF5ICsgdCAqIChiWzFdIC0gYXkpXG4gIG91dFsyXSA9IGF6ICsgdCAqIChiWzJdIC0gYXopXG4gIG91dFszXSA9IGF3ICsgdCAqIChiWzNdIC0gYXcpXG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gbm9ybWFsaXplXG5cbi8qKlxuICogTm9ybWFsaXplIGEgdmVjNFxuICpcbiAqIEBwYXJhbSB7dmVjNH0gb3V0IHRoZSByZWNlaXZpbmcgdmVjdG9yXG4gKiBAcGFyYW0ge3ZlYzR9IGEgdmVjdG9yIHRvIG5vcm1hbGl6ZVxuICogQHJldHVybnMge3ZlYzR9IG91dFxuICovXG5mdW5jdGlvbiBub3JtYWxpemUgKG91dCwgYSkge1xuICB2YXIgeCA9IGFbMF0sXG4gICAgeSA9IGFbMV0sXG4gICAgeiA9IGFbMl0sXG4gICAgdyA9IGFbM11cbiAgdmFyIGxlbiA9IHggKiB4ICsgeSAqIHkgKyB6ICogeiArIHcgKiB3XG4gIGlmIChsZW4gPiAwKSB7XG4gICAgbGVuID0gMSAvIE1hdGguc3FydChsZW4pXG4gICAgb3V0WzBdID0geCAqIGxlblxuICAgIG91dFsxXSA9IHkgKiBsZW5cbiAgICBvdXRbMl0gPSB6ICogbGVuXG4gICAgb3V0WzNdID0gdyAqIGxlblxuICB9XG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gc2NhbGVcblxuLyoqXG4gKiBTY2FsZXMgYSB2ZWM0IGJ5IGEgc2NhbGFyIG51bWJlclxuICpcbiAqIEBwYXJhbSB7dmVjNH0gb3V0IHRoZSByZWNlaXZpbmcgdmVjdG9yXG4gKiBAcGFyYW0ge3ZlYzR9IGEgdGhlIHZlY3RvciB0byBzY2FsZVxuICogQHBhcmFtIHtOdW1iZXJ9IGIgYW1vdW50IHRvIHNjYWxlIHRoZSB2ZWN0b3IgYnlcbiAqIEByZXR1cm5zIHt2ZWM0fSBvdXRcbiAqL1xuZnVuY3Rpb24gc2NhbGUgKG91dCwgYSwgYikge1xuICBvdXRbMF0gPSBhWzBdICogYlxuICBvdXRbMV0gPSBhWzFdICogYlxuICBvdXRbMl0gPSBhWzJdICogYlxuICBvdXRbM10gPSBhWzNdICogYlxuICByZXR1cm4gb3V0XG59XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHNldFxuXG4vKipcbiAqIFNldCB0aGUgY29tcG9uZW50cyBvZiBhIHZlYzQgdG8gdGhlIGdpdmVuIHZhbHVlc1xuICpcbiAqIEBwYXJhbSB7dmVjNH0gb3V0IHRoZSByZWNlaXZpbmcgdmVjdG9yXG4gKiBAcGFyYW0ge051bWJlcn0geCBYIGNvbXBvbmVudFxuICogQHBhcmFtIHtOdW1iZXJ9IHkgWSBjb21wb25lbnRcbiAqIEBwYXJhbSB7TnVtYmVyfSB6IFogY29tcG9uZW50XG4gKiBAcGFyYW0ge051bWJlcn0gdyBXIGNvbXBvbmVudFxuICogQHJldHVybnMge3ZlYzR9IG91dFxuICovXG5mdW5jdGlvbiBzZXQgKG91dCwgeCwgeSwgeiwgdykge1xuICBvdXRbMF0gPSB4XG4gIG91dFsxXSA9IHlcbiAgb3V0WzJdID0gelxuICBvdXRbM10gPSB3XG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gc3F1YXJlZExlbmd0aFxuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIHNxdWFyZWQgbGVuZ3RoIG9mIGEgdmVjNFxuICpcbiAqIEBwYXJhbSB7dmVjNH0gYSB2ZWN0b3IgdG8gY2FsY3VsYXRlIHNxdWFyZWQgbGVuZ3RoIG9mXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBzcXVhcmVkIGxlbmd0aCBvZiBhXG4gKi9cbmZ1bmN0aW9uIHNxdWFyZWRMZW5ndGggKGEpIHtcbiAgdmFyIHggPSBhWzBdLFxuICAgIHkgPSBhWzFdLFxuICAgIHogPSBhWzJdLFxuICAgIHcgPSBhWzNdXG4gIHJldHVybiB4ICogeCArIHkgKiB5ICsgeiAqIHogKyB3ICogd1xufVxuIiwiLyoqXG4gKiBOb3JtYWxpemUgYSBxdWF0XG4gKlxuICogQHBhcmFtIHtxdWF0fSBvdXQgdGhlIHJlY2VpdmluZyBxdWF0ZXJuaW9uXG4gKiBAcGFyYW0ge3F1YXR9IGEgcXVhdGVybmlvbiB0byBub3JtYWxpemVcbiAqIEByZXR1cm5zIHtxdWF0fSBvdXRcbiAqIEBmdW5jdGlvblxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJ2dsLXZlYzQvbm9ybWFsaXplJylcbiIsIm1vZHVsZS5leHBvcnRzID0gcm90YXRlWFxuXG4vKipcbiAqIFJvdGF0ZXMgYSBxdWF0ZXJuaW9uIGJ5IHRoZSBnaXZlbiBhbmdsZSBhYm91dCB0aGUgWCBheGlzXG4gKlxuICogQHBhcmFtIHtxdWF0fSBvdXQgcXVhdCByZWNlaXZpbmcgb3BlcmF0aW9uIHJlc3VsdFxuICogQHBhcmFtIHtxdWF0fSBhIHF1YXQgdG8gcm90YXRlXG4gKiBAcGFyYW0ge251bWJlcn0gcmFkIGFuZ2xlIChpbiByYWRpYW5zKSB0byByb3RhdGVcbiAqIEByZXR1cm5zIHtxdWF0fSBvdXRcbiAqL1xuZnVuY3Rpb24gcm90YXRlWCAob3V0LCBhLCByYWQpIHtcbiAgcmFkICo9IDAuNVxuXG4gIHZhciBheCA9IGFbMF0sIGF5ID0gYVsxXSwgYXogPSBhWzJdLCBhdyA9IGFbM10sXG4gICAgYnggPSBNYXRoLnNpbihyYWQpLCBidyA9IE1hdGguY29zKHJhZClcblxuICBvdXRbMF0gPSBheCAqIGJ3ICsgYXcgKiBieFxuICBvdXRbMV0gPSBheSAqIGJ3ICsgYXogKiBieFxuICBvdXRbMl0gPSBheiAqIGJ3IC0gYXkgKiBieFxuICBvdXRbM10gPSBhdyAqIGJ3IC0gYXggKiBieFxuICByZXR1cm4gb3V0XG59XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJvdGF0ZVlcblxuLyoqXG4gKiBSb3RhdGVzIGEgcXVhdGVybmlvbiBieSB0aGUgZ2l2ZW4gYW5nbGUgYWJvdXQgdGhlIFkgYXhpc1xuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHF1YXQgcmVjZWl2aW5nIG9wZXJhdGlvbiByZXN1bHRcbiAqIEBwYXJhbSB7cXVhdH0gYSBxdWF0IHRvIHJvdGF0ZVxuICogQHBhcmFtIHtudW1iZXJ9IHJhZCBhbmdsZSAoaW4gcmFkaWFucykgdG8gcm90YXRlXG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKi9cbmZ1bmN0aW9uIHJvdGF0ZVkgKG91dCwgYSwgcmFkKSB7XG4gIHJhZCAqPSAwLjVcblxuICB2YXIgYXggPSBhWzBdLCBheSA9IGFbMV0sIGF6ID0gYVsyXSwgYXcgPSBhWzNdLFxuICAgIGJ5ID0gTWF0aC5zaW4ocmFkKSwgYncgPSBNYXRoLmNvcyhyYWQpXG5cbiAgb3V0WzBdID0gYXggKiBidyAtIGF6ICogYnlcbiAgb3V0WzFdID0gYXkgKiBidyArIGF3ICogYnlcbiAgb3V0WzJdID0gYXogKiBidyArIGF4ICogYnlcbiAgb3V0WzNdID0gYXcgKiBidyAtIGF5ICogYnlcbiAgcmV0dXJuIG91dFxufVxuIiwibW9kdWxlLmV4cG9ydHMgPSByb3RhdGVaXG5cbi8qKlxuICogUm90YXRlcyBhIHF1YXRlcm5pb24gYnkgdGhlIGdpdmVuIGFuZ2xlIGFib3V0IHRoZSBaIGF4aXNcbiAqXG4gKiBAcGFyYW0ge3F1YXR9IG91dCBxdWF0IHJlY2VpdmluZyBvcGVyYXRpb24gcmVzdWx0XG4gKiBAcGFyYW0ge3F1YXR9IGEgcXVhdCB0byByb3RhdGVcbiAqIEBwYXJhbSB7bnVtYmVyfSByYWQgYW5nbGUgKGluIHJhZGlhbnMpIHRvIHJvdGF0ZVxuICogQHJldHVybnMge3F1YXR9IG91dFxuICovXG5mdW5jdGlvbiByb3RhdGVaIChvdXQsIGEsIHJhZCkge1xuICByYWQgKj0gMC41XG5cbiAgdmFyIGF4ID0gYVswXSwgYXkgPSBhWzFdLCBheiA9IGFbMl0sIGF3ID0gYVszXSxcbiAgICBieiA9IE1hdGguc2luKHJhZCksIGJ3ID0gTWF0aC5jb3MocmFkKVxuXG4gIG91dFswXSA9IGF4ICogYncgKyBheSAqIGJ6XG4gIG91dFsxXSA9IGF5ICogYncgLSBheCAqIGJ6XG4gIG91dFsyXSA9IGF6ICogYncgKyBhdyAqIGJ6XG4gIG91dFszXSA9IGF3ICogYncgLSBheiAqIGJ6XG4gIHJldHVybiBvdXRcbn1cbiIsInZhciB2ZWNEb3QgPSByZXF1aXJlKCdnbC12ZWMzL2RvdCcpXG52YXIgdmVjQ3Jvc3MgPSByZXF1aXJlKCdnbC12ZWMzL2Nyb3NzJylcbnZhciB2ZWNMZW5ndGggPSByZXF1aXJlKCdnbC12ZWMzL2xlbmd0aCcpXG52YXIgdmVjTm9ybWFsaXplID0gcmVxdWlyZSgnZ2wtdmVjMy9ub3JtYWxpemUnKVxuXG52YXIgcXVhdE5vcm1hbGl6ZSA9IHJlcXVpcmUoJy4vbm9ybWFsaXplJylcbnZhciBxdWF0QXhpc0FuZ2xlID0gcmVxdWlyZSgnLi9zZXRBeGlzQW5nbGUnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IHJvdGF0aW9uVG9cblxudmFyIHRtcHZlYzMgPSBbMCwgMCwgMF1cbnZhciB4VW5pdFZlYzMgPSBbMSwgMCwgMF1cbnZhciB5VW5pdFZlYzMgPSBbMCwgMSwgMF1cblxuLyoqXG4gKiBTZXRzIGEgcXVhdGVybmlvbiB0byByZXByZXNlbnQgdGhlIHNob3J0ZXN0IHJvdGF0aW9uIGZyb20gb25lXG4gKiB2ZWN0b3IgdG8gYW5vdGhlci5cbiAqXG4gKiBCb3RoIHZlY3RvcnMgYXJlIGFzc3VtZWQgdG8gYmUgdW5pdCBsZW5ndGguXG4gKlxuICogQHBhcmFtIHtxdWF0fSBvdXQgdGhlIHJlY2VpdmluZyBxdWF0ZXJuaW9uLlxuICogQHBhcmFtIHt2ZWMzfSBhIHRoZSBpbml0aWFsIHZlY3RvclxuICogQHBhcmFtIHt2ZWMzfSBiIHRoZSBkZXN0aW5hdGlvbiB2ZWN0b3JcbiAqIEByZXR1cm5zIHtxdWF0fSBvdXRcbiAqL1xuZnVuY3Rpb24gcm90YXRpb25UbyAob3V0LCBhLCBiKSB7XG4gIHZhciBkb3QgPSB2ZWNEb3QoYSwgYilcbiAgaWYgKGRvdCA8IC0wLjk5OTk5OSkge1xuICAgIHZlY0Nyb3NzKHRtcHZlYzMsIHhVbml0VmVjMywgYSlcbiAgICBpZiAodmVjTGVuZ3RoKHRtcHZlYzMpIDwgMC4wMDAwMDEpIHtcbiAgICAgIHZlY0Nyb3NzKHRtcHZlYzMsIHlVbml0VmVjMywgYSlcbiAgICB9XG4gICAgdmVjTm9ybWFsaXplKHRtcHZlYzMsIHRtcHZlYzMpXG4gICAgcXVhdEF4aXNBbmdsZShvdXQsIHRtcHZlYzMsIE1hdGguUEkpXG4gICAgcmV0dXJuIG91dFxuICB9IGVsc2UgaWYgKGRvdCA+IDAuOTk5OTk5KSB7XG4gICAgb3V0WzBdID0gMFxuICAgIG91dFsxXSA9IDBcbiAgICBvdXRbMl0gPSAwXG4gICAgb3V0WzNdID0gMVxuICAgIHJldHVybiBvdXRcbiAgfSBlbHNlIHtcbiAgICB2ZWNDcm9zcyh0bXB2ZWMzLCBhLCBiKVxuICAgIG91dFswXSA9IHRtcHZlYzNbMF1cbiAgICBvdXRbMV0gPSB0bXB2ZWMzWzFdXG4gICAgb3V0WzJdID0gdG1wdmVjM1syXVxuICAgIG91dFszXSA9IDEgKyBkb3RcbiAgICByZXR1cm4gcXVhdE5vcm1hbGl6ZShvdXQsIG91dClcbiAgfVxufVxuIiwiLyoqXG4gKiBTY2FsZXMgYSBxdWF0IGJ5IGEgc2NhbGFyIG51bWJlclxuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgdmVjdG9yXG4gKiBAcGFyYW0ge3F1YXR9IGEgdGhlIHZlY3RvciB0byBzY2FsZVxuICogQHBhcmFtIHtOdW1iZXJ9IGIgYW1vdW50IHRvIHNjYWxlIHRoZSB2ZWN0b3IgYnlcbiAqIEByZXR1cm5zIHtxdWF0fSBvdXRcbiAqIEBmdW5jdGlvblxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJ2dsLXZlYzQvc2NhbGUnKVxuIiwiLyoqXG4gKiBTZXQgdGhlIGNvbXBvbmVudHMgb2YgYSBxdWF0IHRvIHRoZSBnaXZlbiB2YWx1ZXNcbiAqXG4gKiBAcGFyYW0ge3F1YXR9IG91dCB0aGUgcmVjZWl2aW5nIHF1YXRlcm5pb25cbiAqIEBwYXJhbSB7TnVtYmVyfSB4IFggY29tcG9uZW50XG4gKiBAcGFyYW0ge051bWJlcn0geSBZIGNvbXBvbmVudFxuICogQHBhcmFtIHtOdW1iZXJ9IHogWiBjb21wb25lbnRcbiAqIEBwYXJhbSB7TnVtYmVyfSB3IFcgY29tcG9uZW50XG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKiBAZnVuY3Rpb25cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCdnbC12ZWM0L3NldCcpXG4iLCJ2YXIgbWF0M2NyZWF0ZSA9IHJlcXVpcmUoJ2dsLW1hdDMvY3JlYXRlJylcbnZhciBmcm9tTWF0MyA9IHJlcXVpcmUoJy4vZnJvbU1hdDMnKVxudmFyIG5vcm1hbGl6ZSA9IHJlcXVpcmUoJy4vbm9ybWFsaXplJylcblxubW9kdWxlLmV4cG9ydHMgPSBzZXRBeGVzXG5cbnZhciBtYXRyID0gbWF0M2NyZWF0ZSgpXG5cbi8qKlxuICogU2V0cyB0aGUgc3BlY2lmaWVkIHF1YXRlcm5pb24gd2l0aCB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byB0aGUgZ2l2ZW5cbiAqIGF4ZXMuIEVhY2ggYXhpcyBpcyBhIHZlYzMgYW5kIGlzIGV4cGVjdGVkIHRvIGJlIHVuaXQgbGVuZ3RoIGFuZFxuICogcGVycGVuZGljdWxhciB0byBhbGwgb3RoZXIgc3BlY2lmaWVkIGF4ZXMuXG4gKlxuICogQHBhcmFtIHt2ZWMzfSB2aWV3ICB0aGUgdmVjdG9yIHJlcHJlc2VudGluZyB0aGUgdmlld2luZyBkaXJlY3Rpb25cbiAqIEBwYXJhbSB7dmVjM30gcmlnaHQgdGhlIHZlY3RvciByZXByZXNlbnRpbmcgdGhlIGxvY2FsIFwicmlnaHRcIiBkaXJlY3Rpb25cbiAqIEBwYXJhbSB7dmVjM30gdXAgICAgdGhlIHZlY3RvciByZXByZXNlbnRpbmcgdGhlIGxvY2FsIFwidXBcIiBkaXJlY3Rpb25cbiAqIEByZXR1cm5zIHtxdWF0fSBvdXRcbiAqL1xuZnVuY3Rpb24gc2V0QXhlcyAob3V0LCB2aWV3LCByaWdodCwgdXApIHtcbiAgbWF0clswXSA9IHJpZ2h0WzBdXG4gIG1hdHJbM10gPSByaWdodFsxXVxuICBtYXRyWzZdID0gcmlnaHRbMl1cblxuICBtYXRyWzFdID0gdXBbMF1cbiAgbWF0cls0XSA9IHVwWzFdXG4gIG1hdHJbN10gPSB1cFsyXVxuXG4gIG1hdHJbMl0gPSAtdmlld1swXVxuICBtYXRyWzVdID0gLXZpZXdbMV1cbiAgbWF0cls4XSA9IC12aWV3WzJdXG5cbiAgcmV0dXJuIG5vcm1hbGl6ZShvdXQsIGZyb21NYXQzKG91dCwgbWF0cikpXG59XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHNldEF4aXNBbmdsZVxuXG4vKipcbiAqIFNldHMgYSBxdWF0IGZyb20gdGhlIGdpdmVuIGFuZ2xlIGFuZCByb3RhdGlvbiBheGlzLFxuICogdGhlbiByZXR1cm5zIGl0LlxuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHt2ZWMzfSBheGlzIHRoZSBheGlzIGFyb3VuZCB3aGljaCB0byByb3RhdGVcbiAqIEBwYXJhbSB7TnVtYmVyfSByYWQgdGhlIGFuZ2xlIGluIHJhZGlhbnNcbiAqIEByZXR1cm5zIHtxdWF0fSBvdXRcbiAqKi9cbmZ1bmN0aW9uIHNldEF4aXNBbmdsZSAob3V0LCBheGlzLCByYWQpIHtcbiAgcmFkID0gcmFkICogMC41XG4gIHZhciBzID0gTWF0aC5zaW4ocmFkKVxuICBvdXRbMF0gPSBzICogYXhpc1swXVxuICBvdXRbMV0gPSBzICogYXhpc1sxXVxuICBvdXRbMl0gPSBzICogYXhpc1syXVxuICBvdXRbM10gPSBNYXRoLmNvcyhyYWQpXG4gIHJldHVybiBvdXRcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gc2xlcnBcblxuLyoqXG4gKiBQZXJmb3JtcyBhIHNwaGVyaWNhbCBsaW5lYXIgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIHR3byBxdWF0XG4gKlxuICogQHBhcmFtIHtxdWF0fSBvdXQgdGhlIHJlY2VpdmluZyBxdWF0ZXJuaW9uXG4gKiBAcGFyYW0ge3F1YXR9IGEgdGhlIGZpcnN0IG9wZXJhbmRcbiAqIEBwYXJhbSB7cXVhdH0gYiB0aGUgc2Vjb25kIG9wZXJhbmRcbiAqIEBwYXJhbSB7TnVtYmVyfSB0IGludGVycG9sYXRpb24gYW1vdW50IGJldHdlZW4gdGhlIHR3byBpbnB1dHNcbiAqIEByZXR1cm5zIHtxdWF0fSBvdXRcbiAqL1xuZnVuY3Rpb24gc2xlcnAgKG91dCwgYSwgYiwgdCkge1xuICAvLyBiZW5jaG1hcmtzOlxuICAvLyAgICBodHRwOi8vanNwZXJmLmNvbS9xdWF0ZXJuaW9uLXNsZXJwLWltcGxlbWVudGF0aW9uc1xuXG4gIHZhciBheCA9IGFbMF0sIGF5ID0gYVsxXSwgYXogPSBhWzJdLCBhdyA9IGFbM10sXG4gICAgYnggPSBiWzBdLCBieSA9IGJbMV0sIGJ6ID0gYlsyXSwgYncgPSBiWzNdXG5cbiAgdmFyIG9tZWdhLCBjb3NvbSwgc2lub20sIHNjYWxlMCwgc2NhbGUxXG5cbiAgLy8gY2FsYyBjb3NpbmVcbiAgY29zb20gPSBheCAqIGJ4ICsgYXkgKiBieSArIGF6ICogYnogKyBhdyAqIGJ3XG4gIC8vIGFkanVzdCBzaWducyAoaWYgbmVjZXNzYXJ5KVxuICBpZiAoY29zb20gPCAwLjApIHtcbiAgICBjb3NvbSA9IC1jb3NvbVxuICAgIGJ4ID0gLWJ4XG4gICAgYnkgPSAtYnlcbiAgICBieiA9IC1ielxuICAgIGJ3ID0gLWJ3XG4gIH1cbiAgLy8gY2FsY3VsYXRlIGNvZWZmaWNpZW50c1xuICBpZiAoKDEuMCAtIGNvc29tKSA+IDAuMDAwMDAxKSB7XG4gICAgLy8gc3RhbmRhcmQgY2FzZSAoc2xlcnApXG4gICAgb21lZ2EgPSBNYXRoLmFjb3MoY29zb20pXG4gICAgc2lub20gPSBNYXRoLnNpbihvbWVnYSlcbiAgICBzY2FsZTAgPSBNYXRoLnNpbigoMS4wIC0gdCkgKiBvbWVnYSkgLyBzaW5vbVxuICAgIHNjYWxlMSA9IE1hdGguc2luKHQgKiBvbWVnYSkgLyBzaW5vbVxuICB9IGVsc2Uge1xuICAgIC8vIFwiZnJvbVwiIGFuZCBcInRvXCIgcXVhdGVybmlvbnMgYXJlIHZlcnkgY2xvc2VcbiAgICAvLyAgLi4uIHNvIHdlIGNhbiBkbyBhIGxpbmVhciBpbnRlcnBvbGF0aW9uXG4gICAgc2NhbGUwID0gMS4wIC0gdFxuICAgIHNjYWxlMSA9IHRcbiAgfVxuICAvLyBjYWxjdWxhdGUgZmluYWwgdmFsdWVzXG4gIG91dFswXSA9IHNjYWxlMCAqIGF4ICsgc2NhbGUxICogYnhcbiAgb3V0WzFdID0gc2NhbGUwICogYXkgKyBzY2FsZTEgKiBieVxuICBvdXRbMl0gPSBzY2FsZTAgKiBheiArIHNjYWxlMSAqIGJ6XG4gIG91dFszXSA9IHNjYWxlMCAqIGF3ICsgc2NhbGUxICogYndcblxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgc2xlcnAgPSByZXF1aXJlKCcuL3NsZXJwJylcblxubW9kdWxlLmV4cG9ydHMgPSBzcWxlcnBcblxudmFyIHRlbXAxID0gWzAsIDAsIDAsIDFdXG52YXIgdGVtcDIgPSBbMCwgMCwgMCwgMV1cblxuLyoqXG4gKiBQZXJmb3JtcyBhIHNwaGVyaWNhbCBsaW5lYXIgaW50ZXJwb2xhdGlvbiB3aXRoIHR3byBjb250cm9sIHBvaW50c1xuICpcbiAqIEBwYXJhbSB7cXVhdH0gb3V0IHRoZSByZWNlaXZpbmcgcXVhdGVybmlvblxuICogQHBhcmFtIHtxdWF0fSBhIHRoZSBmaXJzdCBvcGVyYW5kXG4gKiBAcGFyYW0ge3F1YXR9IGIgdGhlIHNlY29uZCBvcGVyYW5kXG4gKiBAcGFyYW0ge3F1YXR9IGMgdGhlIHRoaXJkIG9wZXJhbmRcbiAqIEBwYXJhbSB7cXVhdH0gZCB0aGUgZm91cnRoIG9wZXJhbmRcbiAqIEBwYXJhbSB7TnVtYmVyfSB0IGludGVycG9sYXRpb24gYW1vdW50XG4gKiBAcmV0dXJucyB7cXVhdH0gb3V0XG4gKi9cbmZ1bmN0aW9uIHNxbGVycCAob3V0LCBhLCBiLCBjLCBkLCB0KSB7XG4gIHNsZXJwKHRlbXAxLCBhLCBkLCB0KVxuICBzbGVycCh0ZW1wMiwgYiwgYywgdClcbiAgc2xlcnAob3V0LCB0ZW1wMSwgdGVtcDIsIDIgKiB0ICogKDEgLSB0KSlcblxuICByZXR1cm4gb3V0XG59XG4iLCIvKipcbiAqIENhbGN1bGF0ZXMgdGhlIHNxdWFyZWQgbGVuZ3RoIG9mIGEgcXVhdFxuICpcbiAqIEBwYXJhbSB7cXVhdH0gYSB2ZWN0b3IgdG8gY2FsY3VsYXRlIHNxdWFyZWQgbGVuZ3RoIG9mXG4gKiBAcmV0dXJucyB7TnVtYmVyfSBzcXVhcmVkIGxlbmd0aCBvZiBhXG4gKiBAZnVuY3Rpb25cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCdnbC12ZWM0L3NxdWFyZWRMZW5ndGgnKVxuIiwibW9kdWxlLmV4cG9ydHMgPSB7XG4gIGFkZDogcmVxdWlyZSgnLi9hZGQnKSxcbiAgY2FsY3VsYXRlVzogcmVxdWlyZSgnLi9jYWxjdWxhdGVXJyksXG4gIGNsb25lOiByZXF1aXJlKCcuL2Nsb25lJyksXG4gIGNvbmp1Z2F0ZTogcmVxdWlyZSgnLi9jb25qdWdhdGUnKSxcbiAgY29weTogcmVxdWlyZSgnLi9jb3B5JyksXG4gIGNyZWF0ZTogcmVxdWlyZSgnLi9jcmVhdGUnKSxcbiAgZG90OiByZXF1aXJlKCcuL2RvdCcpLFxuICBmcm9tTWF0MzogcmVxdWlyZSgnLi9mcm9tTWF0MycpLFxuICBmcm9tVmFsdWVzOiByZXF1aXJlKCcuL2Zyb21WYWx1ZXMnKSxcbiAgaWRlbnRpdHk6IHJlcXVpcmUoJy4vaWRlbnRpdHknKSxcbiAgaW52ZXJ0OiByZXF1aXJlKCcuL2ludmVydCcpLFxuICBsZW5ndGg6IHJlcXVpcmUoJy4vbGVuZ3RoJyksXG4gIGxlcnA6IHJlcXVpcmUoJy4vbGVycCcpLFxuICBtdWx0aXBseTogcmVxdWlyZSgnLi9tdWx0aXBseScpLFxuICBub3JtYWxpemU6IHJlcXVpcmUoJy4vbm9ybWFsaXplJyksXG4gIHJvdGF0ZVg6IHJlcXVpcmUoJy4vcm90YXRlWCcpLFxuICByb3RhdGVZOiByZXF1aXJlKCcuL3JvdGF0ZVknKSxcbiAgcm90YXRlWjogcmVxdWlyZSgnLi9yb3RhdGVaJyksXG4gIHJvdGF0aW9uVG86IHJlcXVpcmUoJy4vcm90YXRpb25UbycpLFxuICBzY2FsZTogcmVxdWlyZSgnLi9zY2FsZScpLFxuICBzZXQ6IHJlcXVpcmUoJy4vc2V0JyksXG4gIHNldEF4ZXM6IHJlcXVpcmUoJy4vc2V0QXhlcycpLFxuICBzZXRBeGlzQW5nbGU6IHJlcXVpcmUoJy4vc2V0QXhpc0FuZ2xlJyksXG4gIHNsZXJwOiByZXF1aXJlKCcuL3NsZXJwJyksXG4gIHNxbGVycDogcmVxdWlyZSgnLi9zcWxlcnAnKSxcbiAgc3F1YXJlZExlbmd0aDogcmVxdWlyZSgnLi9zcXVhcmVkTGVuZ3RoJylcbn1cbiJdfQ==
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"regl":[function(require,module,exports){
(function (global){
(function(Oa){"object"===typeof exports&&"undefined"!==typeof module?module.exports=Oa():"function"===typeof define&&define.amd?define([],Oa):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).createREGL=Oa()})(function(){return function f(p,u,l){function k(c,a){if(!u[c]){if(!p[c]){var b="function"==typeof require&&require;if(!a&&b)return b(c,!0);if(x)return x(c,!0);b=Error("Cannot find module '"+c+"'");throw b.code="MODULE_NOT_FOUND",b;}b=
u[c]={exports:{}};p[c][0].call(b.exports,function(a){var b=p[c][1][a];return k(b?b:a)},b,b.exports,f,p,u,l)}return u[c].exports}for(var x="function"==typeof require&&require,r=0;r<l.length;r++)k(l[r]);return k}({1:[function(f,p,u){function l(){this.w=this.z=this.y=this.x=this.state=0;this.buffer=null;this.size=0;this.normalized=!1;this.type=5126;this.divisor=this.stride=this.offset=0}p.exports=function(k,x,r,c,a){k=r.maxAttributes;x=Array(k);for(r=0;r<k;++r)x[r]=new l;return{Record:l,scope:{},state:x}}},
{}],2:[function(f,p,u){function l(c){return t[Object.prototype.toString.call(c)]|0}function k(c,a){for(var b=0;b<a.length;++b)c[b]=a[b]}function x(c,a,b,k,l,r,x){for(var g=0,h=0;h<b;++h)for(var f=0;f<k;++f)c[g++]=a[l*h+r*f+x]}var r=f("./util/is-typed-array"),c=f("./util/is-ndarray"),a=f("./util/values"),b=f("./util/pool");u=f("./util/flatten");var F=u.flatten,M=u.shape,t=f("./constants/arraytypes.json"),y=f("./constants/dtypes.json"),g=f("./constants/usage.json"),E=[];E[5120]=1;E[5122]=2;E[5124]=
4;E[5121]=1;E[5123]=2;E[5125]=4;E[5126]=4;p.exports=function(f,t,n){function m(c){this.id=H++;this.buffer=f.createBuffer();this.type=c;this.usage=35044;this.byteLength=0;this.dimension=1;this.dtype=5121;this.persistentData=null;n.profile&&(this.stats={size:0})}function B(c,a,b){c.byteLength=a.byteLength;f.bufferData(c.type,a,b)}function p(a,h,m,f,g,n){a.usage=m;if(Array.isArray(h)){if(a.dtype=f||5126,0<h.length)if(Array.isArray(h[0])){g=M(h);for(var K=f=1;K<g.length;++K)f*=g[K];a.dimension=f;h=F(h,
g,a.dtype);B(a,h,m);n?a.persistentData=h:b.freeType(h)}else"number"===typeof h[0]?(a.dimension=g,g=b.allocType(a.dtype,h.length),k(g,h),B(a,g,m),n?a.persistentData=g:b.freeType(g)):r(h[0])&&(a.dimension=h[0].length,a.dtype=f||l(h[0])||5126,h=F(h,[h.length,h[0].length],a.dtype),B(a,h,m),n?a.persistentData=h:b.freeType(h))}else if(r(h))a.dtype=f||l(h),a.dimension=g,B(a,h,m),n&&(a.persistentData=new Uint8Array(new Uint8Array(h.buffer)));else if(c(h)){g=h.shape;var C=h.stride,K=h.offset,y=0,q=0,S=0,t=
0;1===g.length?(y=g[0],q=1,S=C[0],t=0):2===g.length&&(y=g[0],q=g[1],S=C[0],t=C[1]);a.dtype=f||l(h.data)||5126;a.dimension=q;g=b.allocType(a.dtype,y*q);x(g,h.data,y,q,S,t,K);B(a,g,m);n?a.persistentData=g:b.freeType(g)}}function L(c){t.bufferCount--;f.deleteBuffer(c.buffer);c.buffer=null;delete h[c.id]}var H=0,h={};m.prototype.bind=function(){f.bindBuffer(this.type,this.buffer)};m.prototype.destroy=function(){L(this)};var fa=[];n.profile&&(t.getTotalBufferSize=function(){var c=0;Object.keys(h).forEach(function(a){c+=
h[a].stats.size});return c});return{create:function(a,B,H,fa){function u(a){var h=35044,b=null,q=0,k=0,m=1;Array.isArray(a)||r(a)||c(a)?b=a:"number"===typeof a?q=a|0:a&&("data"in a&&(b=a.data),"usage"in a&&(h=g[a.usage]),"type"in a&&(k=y[a.type]),"dimension"in a&&(m=a.dimension|0),"length"in a&&(q=a.length|0));D.bind();b?p(D,b,h,k,m,fa):(f.bufferData(D.type,q,h),D.dtype=k||5121,D.usage=h,D.dimension=m,D.byteLength=q);n.profile&&(D.stats.size=D.byteLength*E[D.dtype]);return u}t.bufferCount++;var D=
new m(B);h[D.id]=D;H||u(a);u._reglType="buffer";u._buffer=D;u.subdata=function(a,h){var m=(h||0)|0,q;D.bind();if(Array.isArray(a)){if(0<a.length)if("number"===typeof a[0]){var g=b.allocType(D.dtype,a.length);k(g,a);f.bufferSubData(D.type,m,g);b.freeType(g)}else if(Array.isArray(a[0])||r(a[0]))q=M(a),g=F(a,q,D.dtype),f.bufferSubData(D.type,m,g),b.freeType(g)}else if(r(a))f.bufferSubData(D.type,m,a);else if(c(a)){q=a.shape;var n=a.stride,B=g=0,y=0,t=0;1===q.length?(g=q[0],B=1,y=n[0],t=0):2===q.length&&
(g=q[0],B=q[1],y=n[0],t=n[1]);q=Array.isArray(a.data)?D.dtype:l(a.data);q=b.allocType(q,g*B);x(q,a.data,g,B,y,t,a.offset);f.bufferSubData(D.type,m,q);b.freeType(q)}return u};n.profile&&(u.stats=D.stats);u.destroy=function(){L(D)};return u},createStream:function(a,c){var h=fa.pop();h||(h=new m(a));h.bind();p(h,c,35040,0,1,!1);return h},destroyStream:function(a){fa.push(a)},clear:function(){a(h).forEach(L);fa.forEach(L)},getBuffer:function(a){return a&&a._buffer instanceof m?a._buffer:null},restore:function(){a(h).forEach(function(a){a.buffer=
f.createBuffer();f.bindBuffer(a.type,a.buffer);f.bufferData(a.type,a.persistentData||a.byteLength,a.usage)})},_initBuffer:p}}},{"./constants/arraytypes.json":3,"./constants/dtypes.json":4,"./constants/usage.json":6,"./util/flatten":23,"./util/is-ndarray":25,"./util/is-typed-array":26,"./util/pool":28,"./util/values":31}],3:[function(f,p,u){p.exports={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,
"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121}},{}],4:[function(f,p,u){p.exports={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,"float":5126,float32:5126}},{}],5:[function(f,p,u){p.exports={points:0,point:0,lines:1,line:1,"line loop":2,"line strip":3,triangles:4,triangle:4,"triangle strip":5,"triangle fan":6}},{}],6:[function(f,p,u){p.exports={"static":35044,dynamic:35048,stream:35040}},{}],7:[function(f,p,u){function l(a){return Array.isArray(a)||
M(a)||t(a)}function k(a){return a.sort(function(a,c){return"viewport"===a?-1:"viewport"===c?1:a<c?-1:1})}function x(a,c,b,k){this.thisDep=a;this.contextDep=c;this.propDep=b;this.append=k}function r(a){return a&&!(a.thisDep||a.contextDep||a.propDep)}function c(a){return new x(!1,!1,!1,a)}function a(a,c){var b=a.type;return 0===b?(b=a.data.length,new x(!0,1<=b,2<=b,c)):4===b?(b=a.data,new x(b.thisDep,b.contextDep,b.propDep,c)):new x(3===b,2===b,1===b,c)}var b=f("./util/codegen"),F=f("./util/loop"),
M=f("./util/is-typed-array"),t=f("./util/is-ndarray"),y=f("./util/is-array-like"),g=f("./dynamic"),E=f("./constants/primitives.json"),C=f("./constants/dtypes.json"),N=["x","y","z","w"],n="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),m={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,
"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},B={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Y={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},L={cw:2304,ccw:2305},H=new x(!1,!1,!1,function(){});p.exports=function(h,
f,t,p,M,u,Z,D,K,Aa,va,q,S,ma,ga){function W(d){return d.replace(".","_")}function R(d,a,c){var b=W(d);w.push(d);z[b]=e[b]=!!c;wa[b]=a}function G(d,a,c){var b=W(d);w.push(d);Array.isArray(c)?(e[b]=c.slice(),z[b]=c.slice()):e[b]=z[b]=c;xa[b]=a}function ba(){var d=b(),a=d.link,c=d.global;d.id=Ra++;d.batchId="0";var h=a(Qa),A=d.shared={props:"a0"};Object.keys(Qa).forEach(function(d){A[d]=c.def(h,".",d)});var J=d.next={},P=d.current={};Object.keys(xa).forEach(function(d){Array.isArray(e[d])&&(J[d]=c.def(A.next,
".",d),P[d]=c.def(A.current,".",d))});var Sa=d.constants={};Object.keys(Ma).forEach(function(d){Sa[d]=c.def(JSON.stringify(Ma[d]))});d.invoke=function(e,I){switch(I.type){case 0:var c=["this",A.context,A.props,d.batchId];return e.def(a(I.data),".call(",c.slice(0,Math.max(I.data.length+1,4)),")");case 1:return e.def(A.props,I.data);case 2:return e.def(A.context,I.data);case 3:return e.def("this",I.data);case 4:return I.data.append(d,e),I.data.ref}};d.attribCache={};var I={};d.scopeAttrib=function(d){d=
f.id(d);if(d in I)return I[d];var e=Aa.scope[d];e||(e=Aa.scope[d]=new Ba);return I[d]=a(e)};return d}function na(d){var e=d["static"];d=d.dynamic;var b;if("profile"in e){var h=!!e.profile;b=c(function(d,e){return h});b.enable=h}else if("profile"in d){var A=d.profile;b=a(A,function(d,e){return d.invoke(e,A)})}return b}function ya(d,e){var b=d["static"],h=d.dynamic;if("framebuffer"in b){var A=b.framebuffer;return A?(A=D.getFramebuffer(A),c(function(d,e){var a=d.link(A),v=d.shared;e.set(v.framebuffer,
".next",a);v=v.context;e.set(v,".framebufferWidth",a+".width");e.set(v,".framebufferHeight",a+".height");return a})):c(function(d,e){var a=d.shared;e.set(a.framebuffer,".next","null");a=a.context;e.set(a,".framebufferWidth",a+".drawingBufferWidth");e.set(a,".framebufferHeight",a+".drawingBufferHeight");return"null"})}if("framebuffer"in h){var J=h.framebuffer;return a(J,function(d,e){var a=d.invoke(e,J),v=d.shared,c=v.framebuffer,a=e.def(c,".getFramebuffer(",a,")");e.set(c,".next",a);v=v.context;e.set(v,
".framebufferWidth",a+"?"+a+".width:"+v+".drawingBufferWidth");e.set(v,".framebufferHeight",a+"?"+a+".height:"+v+".drawingBufferHeight");return a})}return null}function U(d,e,c){function b(d){if(d in h){var I=h[d];d=!0;var c=I.x|0,qa=I.y|0,P,aa;"width"in I?P=I.width|0:d=!1;"height"in I?aa=I.height|0:d=!1;return new x(!d&&e&&e.thisDep,!d&&e&&e.contextDep,!d&&e&&e.propDep,function(d,e){var a=d.shared.context,v=P;"width"in I||(v=e.def(a,".","framebufferWidth","-",c));var b=aa;"height"in I||(b=e.def(a,
".","framebufferHeight","-",qa));return[c,qa,v,b]})}if(d in J){var w=J[d];d=a(w,function(d,e){var a=d.invoke(e,w),I=d.shared.context,c=e.def(a,".x|0"),v=e.def(a,".y|0"),qa=e.def('"width" in ',a,"?",a,".width|0:","(",I,".","framebufferWidth","-",c,")"),a=e.def('"height" in ',a,"?",a,".height|0:","(",I,".","framebufferHeight","-",v,")");return[c,v,qa,a]});e&&(d.thisDep=d.thisDep||e.thisDep,d.contextDep=d.contextDep||e.contextDep,d.propDep=d.propDep||e.propDep);return d}return e?new x(e.thisDep,e.contextDep,
e.propDep,function(d,e){var a=d.shared.context;return[0,0,e.def(a,".","framebufferWidth"),e.def(a,".","framebufferHeight")]}):null}var h=d["static"],J=d.dynamic;if(d=b("viewport")){var P=d;d=new x(d.thisDep,d.contextDep,d.propDep,function(d,e){var a=P.append(d,e),c=d.shared.context;e.set(c,".viewportWidth",a[2]);e.set(c,".viewportHeight",a[3]);return a})}return{viewport:d,scissor_box:b("scissor.box")}}function ia(d){function e(d){if(d in b){var I=f.id(b[d]);d=c(function(){return I});d.id=I;return d}if(d in
h){var v=h[d];return a(v,function(d,e){var a=d.invoke(e,v);return e.def(d.shared.strings,".id(",a,")")})}return null}var b=d["static"],h=d.dynamic,A=e("frag"),J=e("vert"),P=null;r(A)&&r(J)?(P=va.program(J.id,A.id),d=c(function(d,e){return d.link(P)})):d=new x(A&&A.thisDep||J&&J.thisDep,A&&A.contextDep||J&&J.contextDep,A&&A.propDep||J&&J.propDep,function(d,e){var a=d.shared.shader,c;c=A?A.append(d,e):e.def(a,".","frag");var v;v=J?J.append(d,e):e.def(a,".","vert");return e.def(a+".program("+v+","+c+
")")});return{frag:A,vert:J,progVar:d,program:P}}function ka(d,e){function b(d,e){if(d in h){var v=h[d]|0;return c(function(d,a){e&&(d.OFFSET=v);return v})}if(d in A){var qa=A[d];return a(qa,function(d,a){var c=d.invoke(a,qa);e&&(d.OFFSET=c);return c})}return e&&J?c(function(d,e){d.OFFSET="0";return 0}):null}var h=d["static"],A=d.dynamic,J=function(){if("elements"in h){var d=h.elements;l(d)?d=u.getElements(u.create(d,!0)):d&&(d=u.getElements(d));var e=c(function(e,a){if(d){var c=e.link(d);return e.ELEMENTS=
c}return e.ELEMENTS=null});e.value=d;return e}if("elements"in A){var v=A.elements;return a(v,function(d,e){var a=d.shared,c=a.isBufferArgs,a=a.elements,I=d.invoke(e,v),b=e.def("null"),c=e.def(c,"(",I,")"),I=d.cond(c).then(b,"=",a,".createStream(",I,");")["else"](b,"=",a,".getElements(",I,");");e.entry(I);e.exit(d.cond(c).then(a,".destroyStream(",b,");"));return d.ELEMENTS=b})}return null}(),P=b("offset",!0);return{elements:J,primitive:function(){if("primitive"in h){var d=h.primitive;return c(function(e,
a){return E[d]})}if("primitive"in A){var e=A.primitive;return a(e,function(d,a){var c=d.constants.primTypes,v=d.invoke(a,e);return a.def(c,"[",v,"]")})}return J?r(J)?J.value?c(function(d,e){return e.def(d.ELEMENTS,".primType")}):c(function(){return 4}):new x(J.thisDep,J.contextDep,J.propDep,function(d,e){var a=d.ELEMENTS;return e.def(a,"?",a,".primType:",4)}):null}(),count:function(){if("count"in h){var d=h.count|0;return c(function(){return d})}if("count"in A){var e=A.count;return a(e,function(d,
a){return d.invoke(a,e)})}return J?r(J)?J?P?new x(P.thisDep,P.contextDep,P.propDep,function(d,e){return e.def(d.ELEMENTS,".vertCount-",d.OFFSET)}):c(function(d,e){return e.def(d.ELEMENTS,".vertCount")}):c(function(){return-1}):new x(J.thisDep||P.thisDep,J.contextDep||P.contextDep,J.propDep||P.propDep,function(d,e){var a=d.ELEMENTS;return d.OFFSET?e.def(a,"?",a,".vertCount-",d.OFFSET,":-1"):e.def(a,"?",a,".vertCount:-1")}):null}(),instances:b("instances",!1),offset:P}}function ra(d,e){var b=d["static"],
h=d.dynamic,A={};w.forEach(function(d){function e(I,w){if(d in b){var qa=I(b[d]);A[v]=c(function(){return qa})}else if(d in h){var P=h[d];A[v]=a(P,function(d,e){return w(d,e,d.invoke(e,P))})}}var v=W(d);switch(d){case "cull.enable":case "blend.enable":case "dither":case "stencil.enable":case "depth.enable":case "scissor.enable":case "polygonOffset.enable":case "sample.alpha":case "sample.enable":case "depth.mask":return e(function(d){return d},function(d,e,a){return a});case "depth.func":return e(function(d){return B[d]},
function(d,e,a){return e.def(d.constants.compareFuncs,"[",a,"]")});case "depth.range":return e(function(d){return d},function(d,e,a){d=e.def("+",a,"[0]");e=e.def("+",a,"[1]");return[d,e]});case "blend.func":return e(function(d){return[m["srcRGB"in d?d.srcRGB:d.src],m["dstRGB"in d?d.dstRGB:d.dst],m["srcAlpha"in d?d.srcAlpha:d.src],m["dstAlpha"in d?d.dstAlpha:d.dst]]},function(d,e,a){function c(d,v){return e.def('"',d,v,'" in ',a,"?",a,".",d,v,":",a,".",d)}d=d.constants.blendFuncs;var v=c("src","RGB"),
b=c("dst","RGB"),v=e.def(d,"[",v,"]"),h=e.def(d,"[",c("src","Alpha"),"]"),b=e.def(d,"[",b,"]");d=e.def(d,"[",c("dst","Alpha"),"]");return[v,b,h,d]});case "blend.equation":return e(function(d){if("string"===typeof d)return[ca[d],ca[d]];if("object"===typeof d)return[ca[d.rgb],ca[d.alpha]]},function(d,e,a){var c=d.constants.blendEquations,v=e.def(),b=e.def();d=d.cond("typeof ",a,'==="string"');d.then(v,"=",b,"=",c,"[",a,"];");d["else"](v,"=",c,"[",a,".rgb];",b,"=",c,"[",a,".alpha];");e(d);return[v,b]});
case "blend.color":return e(function(d){return F(4,function(e){return+d[e]})},function(d,e,a){return F(4,function(d){return e.def("+",a,"[",d,"]")})});case "stencil.mask":return e(function(d){return d|0},function(d,e,a){return e.def(a,"|0")});case "stencil.func":return e(function(d){return[B[d.cmp||"keep"],d.ref||0,"mask"in d?d.mask:-1]},function(d,e,a){d=e.def('"cmp" in ',a,"?",d.constants.compareFuncs,"[",a,".cmp]",":",7680);var c=e.def(a,".ref|0");e=e.def('"mask" in ',a,"?",a,".mask|0:-1");return[d,
c,e]});case "stencil.opFront":case "stencil.opBack":return e(function(e){return["stencil.opBack"===d?1029:1028,Y[e.fail||"keep"],Y[e.zfail||"keep"],Y[e.zpass||"keep"]]},function(e,a,c){function v(d){return a.def('"',d,'" in ',c,"?",b,"[",c,".",d,"]:",7680)}var b=e.constants.stencilOps;return["stencil.opBack"===d?1029:1028,v("fail"),v("zfail"),v("zpass")]});case "polygonOffset.offset":return e(function(d){return[d.factor|0,d.units|0]},function(d,e,a){d=e.def(a,".factor|0");e=e.def(a,".units|0");return[d,
e]});case "cull.face":return e(function(d){var e=0;"front"===d?e=1028:"back"===d&&(e=1029);return e},function(d,e,a){return e.def(a,'==="front"?',1028,":",1029)});case "lineWidth":return e(function(d){return d},function(d,e,a){return a});case "frontFace":return e(function(d){return L[d]},function(d,e,a){return e.def(a+'==="cw"?2304:2305')});case "colorMask":return e(function(d){return d.map(function(d){return!!d})},function(d,e,a){return F(4,function(d){return"!!"+a+"["+d+"]"})});case "sample.coverage":return e(function(d){return["value"in
d?d.value:1,!!d.invert]},function(d,e,a){d=e.def('"value" in ',a,"?+",a,".value:1");e=e.def("!!",a,".invert");return[d,e]})}});return A}function sa(d,e){var b=d["static"],h=d.dynamic,A={};Object.keys(b).forEach(function(d){var e=b[d],a;if("number"===typeof e||"boolean"===typeof e)a=c(function(){return e});else if("function"===typeof e){var v=e._reglType;if("texture2d"===v||"textureCube"===v)a=c(function(d){return d.link(e)});else if("framebuffer"===v||"framebufferCube"===v)a=c(function(d){return d.link(e.color[0])})}else y(e)&&
(a=c(function(d){return d.global.def("[",F(e.length,function(d){return e[d]}),"]")}));a.value=e;A[d]=a});Object.keys(h).forEach(function(d){var e=h[d];A[d]=a(e,function(d,a){return d.invoke(a,e)})});return A}function da(d,e){var b=d["static"],h=d.dynamic,A={};Object.keys(b).forEach(function(d){var e=b[d],a=f.id(d),v=new Ba;if(l(e))v.state=1,v.buffer=M.getBuffer(M.create(e,34962,!1,!0)),v.type=0;else{var h=M.getBuffer(e);if(h)v.state=1,v.buffer=h,v.type=0;else if(e.constant){var w=e.constant;v.buffer=
"null";v.state=2;"number"===typeof w?v.x=w:N.forEach(function(d,e){e<w.length&&(v[d]=w[e])})}else{var h=l(e.buffer)?M.getBuffer(M.create(e.buffer,34962,!1,!0)):M.getBuffer(e.buffer),z=e.offset|0,q=e.stride|0,k=e.size|0,g=!!e.normalized,m=0;"type"in e&&(m=C[e.type]);e=e.divisor|0;v.buffer=h;v.state=1;v.size=k;v.normalized=g;v.type=m||h.dtype;v.offset=z;v.stride=q;v.divisor=e}}A[d]=c(function(d,e){var c=d.attribCache;if(a in c)return c[a];var b={isStream:!1};Object.keys(v).forEach(function(d){b[d]=
v[d]});v.buffer&&(b.buffer=d.link(v.buffer),b.type=b.type||b.buffer+".dtype");return c[a]=b})});Object.keys(h).forEach(function(d){var e=h[d];A[d]=a(e,function(d,a){function v(d){a(A[d],"=",c,".",d,"|0;")}var c=d.invoke(a,e),b=d.shared,h=b.isBufferArgs,w=b.buffer,A={isStream:a.def(!1)},z=new Ba;z.state=1;Object.keys(z).forEach(function(d){A[d]=a.def(""+z[d])});var aa=A.buffer,q=A.type;a("if(",h,"(",c,")){",A.isStream,"=true;",aa,"=",w,".createStream(",34962,",",c,");",q,"=",aa,".dtype;","}else{",
aa,"=",w,".getBuffer(",c,");","if(",aa,"){",q,"=",aa,".dtype;",'}else if("constant" in ',c,"){",A.state,"=",2,";","if(typeof "+c+'.constant === "number"){',A[N[0]],"=",c,".constant;",N.slice(1).map(function(d){return A[d]}).join("="),"=0;","}else{",N.map(function(d,e){return A[d]+"="+c+".constant.length>="+e+"?"+c+".constant["+e+"]:0;"}).join(""),"}}else{","if(",h,"(",c,".buffer)){",aa,"=",w,".createStream(",34962,",",c,".buffer);","}else{",aa,"=",w,".getBuffer(",c,".buffer);","}",q,'="type" in ',
c,"?",b.glTypes,"[",c,".type]:",aa,".dtype;",A.normalized,"=!!",c,".normalized;");v("size");v("offset");v("stride");v("divisor");a("}}");a.exit("if(",A.isStream,"){",w,".destroyStream(",aa,");","}");return A})});return A}function ja(d){var e=d["static"],b=d.dynamic,h={};Object.keys(e).forEach(function(d){var a=e[d];h[d]=c(function(d,e){return"number"===typeof a||"boolean"===typeof a?""+a:d.link(a)})});Object.keys(b).forEach(function(d){var e=b[d];h[d]=a(e,function(d,a){return d.invoke(a,e)})});return h}
function la(d,e,a,c,b){var h=ya(d,b),w=U(d,h,b),z=ka(d,b),q=ra(d,b),k=ia(d,b),g=w.viewport;g&&(q.viewport=g);g=W("scissor.box");(w=w[g])&&(q[g]=w);w=0<Object.keys(q).length;h={framebuffer:h,draw:z,shader:k,state:q,dirty:w};h.profile=na(d,b);h.uniforms=sa(a,b);h.attributes=da(e,b);h.context=ja(c,b);return h}function ea(d,e,a){var c=d.shared.context,b=d.scope();Object.keys(a).forEach(function(h){e.save(c,"."+h);b(c,".",h,"=",a[h].append(d,e),";")});e(b)}function O(d,e,a,c){var b=d.shared,h=b.gl,w=b.framebuffer,
z;oa&&(z=e.def(b.extensions,".webgl_draw_buffers"));var q=d.constants,b=q.drawBuffer,q=q.backBuffer;d=a?a.append(d,e):e.def(w,".next");c||e("if(",d,"!==",w,".cur){");e("if(",d,"){",h,".bindFramebuffer(",36160,",",d,".framebuffer);");oa&&e(z,".drawBuffersWEBGL(",b,"[",d,".colorAttachments.length]);");e("}else{",h,".bindFramebuffer(",36160,",null);");oa&&e(z,".drawBuffersWEBGL(",q,");");e("}",w,".cur=",d,";");c||e("}")}function ha(d,a,c){var b=d.shared,h=b.gl,z=d.current,q=d.next,g=b.current,k=b.next,
m=d.cond(g,".dirty");w.forEach(function(a){a=W(a);if(!(a in c.state)){var v,b;if(a in q){v=q[a];b=z[a];var w=F(e[a].length,function(d){return m.def(v,"[",d,"]")});m(d.cond(w.map(function(d,e){return d+"!=="+b+"["+e+"]"}).join("||")).then(h,".",xa[a],"(",w,");",w.map(function(d,e){return b+"["+e+"]="+d}).join(";"),";"))}else v=m.def(k,".",a),w=d.cond(v,"!==",g,".",a),m(w),a in wa?w(d.cond(v).then(h,".enable(",wa[a],");")["else"](h,".disable(",wa[a],");"),g,".",a,"=",v,";"):w(h,".",xa[a],"(",v,");",
g,".",a,"=",v,";")}});0===Object.keys(c.state).length&&m(g,".dirty=false;");a(m)}function Q(d,e,a,c){var b=d.shared,h=d.current,w=b.current,q=b.gl;k(Object.keys(a)).forEach(function(b){var z=a[b];if(!c||c(z)){var g=z.append(d,e);if(wa[b]){var k=wa[b];r(z)?g?e(q,".enable(",k,");"):e(q,".disable(",k,");"):e(d.cond(g).then(q,".enable(",k,");")["else"](q,".disable(",k,");"));e(w,".",b,"=",g,";")}else if(y(g)){var m=h[b];e(q,".",xa[b],"(",g,");",g.map(function(d,e){return m+"["+e+"]="+d}).join(";"),";")}else e(q,
".",xa[b],"(",g,");",w,".",b,"=",g,";")}})}function pa(d,e){ta&&(d.instancing=e.def(d.shared.extensions,".angle_instanced_arrays"))}function V(d,e,a,c,b){function h(){return"undefined"===typeof performance?"Date.now()":"performance.now()"}function w(d){l=e.def();d(l,"=",h(),";");"string"===typeof b?d(k,".count+=",b,";"):d(k,".count++;");ma&&(c?(n=e.def(),d(n,"=",f,".getNumPendingQueries();")):d(f,".beginQuery(",k,");"))}function q(d){d(k,".cpuTime+=",h(),"-",l,";");ma&&(c?d(f,".pushScopeStats(",n,
",",f,".getNumPendingQueries(),",k,");"):d(f,".endQuery();"))}function z(d){var a=e.def(m,".profile");e(m,".profile=",d,";");e.exit(m,".profile=",a,";")}var g=d.shared,k=d.stats,m=g.current,f=g.timer;a=a.profile;var l,n;if(a){if(r(a)){a.enable?(w(e),q(e.exit),z("true")):z("false");return}a=a.append(d,e);z(a)}else a=e.def(m,".profile");g=d.block();w(g);e("if(",a,"){",g,"}");d=d.block();q(d);e.exit("if(",a,"){",d,"}")}function X(d,e,a,c,b){function h(d){switch(d){case 35664:case 35667:case 35671:return 2;
case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}function w(a,c,b){function h(){e("if(!",m,".buffer){",g,".enableVertexAttribArray(",k,");}");var a=b.type,w;w=b.size?e.def(b.size,"||",c):c;e("if(",m,".type!==",a,"||",m,".size!==",w,"||",aa.map(function(d){return m+"."+d+"!=="+b[d]}).join("||"),"){",g,".bindBuffer(",34962,",",f,".buffer);",g,".vertexAttribPointer(",[k,w,a,b.normalized,b.stride,b.offset],");",m,".type=",a,";",m,".size=",w,";",aa.map(function(d){return m+
"."+d+"="+b[d]+";"}).join(""),"}");ta&&(a=b.divisor,e("if(",m,".divisor!==",a,"){",d.instancing,".vertexAttribDivisorANGLE(",[k,a],");",m,".divisor=",a,";}"))}function z(){e("if(",m,".buffer){",g,".disableVertexAttribArray(",k,");","}if(",N.map(function(d,e){return m+"."+d+"!=="+A[e]}).join("||"),"){",g,".vertexAttrib4f(",k,",",A,");",N.map(function(d,e){return m+"."+d+"="+A[e]+";"}).join(""),"}")}var g=q.gl,k=e.def(a,".location"),m=e.def(q.attributes,"[",k,"]");a=b.state;var f=b.buffer,A=[b.x,b.y,
b.z,b.w],aa=["buffer","normalized","offset","stride"];1===a?h():2===a?z():(e("if(",a,"===",1,"){"),h(),e("}else{"),z(),e("}"))}var q=d.shared;c.forEach(function(c){var q=c.name,g=a.attributes[q],z;if(g){if(!b(g))return;z=g.append(d,e)}else{if(!b(H))return;var m=d.scopeAttrib(q);z={};Object.keys(new Ba).forEach(function(d){z[d]=e.def(m,".",d)})}w(d.link(c),h(c.info.type),z)})}function T(d,e,a,c,b){for(var h=d.shared,w=h.gl,g,q=0;q<c.length;++q){var z=c[q],m=z.name,k=z.info.type,l=a.uniforms[m],z=d.link(z)+
".location",n;if(l){if(!b(l))continue;if(r(l)){m=l.value;if(35678===k||35680===k)k=d.link(m._texture||m.color[0]._texture),e(w,".uniform1i(",z,",",k+".bind());"),e.exit(k,".unbind();");else if(35674===k||35675===k||35676===k)m=d.global.def("new Float32Array(["+Array.prototype.slice.call(m)+"])"),l=2,35675===k?l=3:35676===k&&(l=4),e(w,".uniformMatrix",l,"fv(",z,",false,",m,");");else{switch(k){case 5126:g="1f";break;case 35664:g="2f";break;case 35665:g="3f";break;case 35666:g="4f";break;case 35670:g=
"1i";break;case 5124:g="1i";break;case 35671:g="2i";break;case 35667:g="2i";break;case 35672:g="3i";break;case 35668:g="3i";break;case 35673:g="4i";break;case 35669:g="4i"}e(w,".uniform",g,"(",z,",",y(m)?Array.prototype.slice.call(m):m,");")}continue}else n=l.append(d,e)}else{if(!b(H))continue;n=e.def(h.uniforms,"[",f.id(m),"]")}35678===k?e("if(",n,"&&",n,'._reglType==="framebuffer"){',n,"=",n,".color[0];","}"):35680===k&&e("if(",n,"&&",n,'._reglType==="framebufferCube"){',n,"=",n,".color[0];","}");
m=1;switch(k){case 35678:case 35680:k=e.def(n,"._texture");e(w,".uniform1i(",z,",",k,".bind());");e.exit(k,".unbind();");continue;case 5124:case 35670:g="1i";break;case 35667:case 35671:g="2i";m=2;break;case 35668:case 35672:g="3i";m=3;break;case 35669:case 35673:g="4i";m=4;break;case 5126:g="1f";break;case 35664:g="2f";m=2;break;case 35665:g="3f";m=3;break;case 35666:g="4f";m=4;break;case 35674:g="Matrix2fv";break;case 35675:g="Matrix3fv";break;case 35676:g="Matrix4fv"}e(w,".uniform",g,"(",z,",");
if("M"===g.charAt(0)){var z=Math.pow(k-35674+2,2),B=d.global.def("new Float32Array(",z,")");e("false,(Array.isArray(",n,")||",n," instanceof Float32Array)?",n,":(",F(z,function(d){return B+"["+d+"]="+n+"["+d+"]"}),",",B,")")}else 1<m?e(F(m,function(d){return n+"["+d+"]"})):e(n);e(");")}}function ua(d,e,a,c){function b(h){var g=k[h];return g?g.contextDep&&c.contextDynamic||g.propDep?g.append(d,a):g.append(d,e):e.def(m,".",h)}function h(){function d(){a(x,".drawElementsInstancedANGLE(",[f,n,K,l+"<<(("+
K+"-5121)>>1)",B],");")}function e(){a(x,".drawArraysInstancedANGLE(",[f,l,n,B],");")}q?S?d():(a("if(",q,"){"),d(),a("}else{"),e(),a("}")):e()}function g(){function d(){a(z+".drawElements("+[f,n,K,l+"<<(("+K+"-5121)>>1)"]+");")}function e(){a(z+".drawArrays("+[f,l,n]+");")}q?S?d():(a("if(",q,"){"),d(),a("}else{"),e(),a("}")):e()}var w=d.shared,z=w.gl,m=w.draw,k=c.draw,q=function(){var b=k.elements,h=e;if(b){if(b.contextDep&&c.contextDynamic||b.propDep)h=a;b=b.append(d,h)}else b=h.def(m,".","elements");
b&&h("if("+b+")"+z+".bindBuffer(34963,"+b+".buffer.buffer);");return b}(),f=b("primitive"),l=b("offset"),n=function(){var b=k.count,h=e;if(b){if(b.contextDep&&c.contextDynamic||b.propDep)h=a;b=b.append(d,h)}else b=h.def(m,".","count");return b}();if("number"===typeof n){if(0===n)return}else a("if(",n,"){"),a.exit("}");var B,x;ta&&(B=b("instances"),x=d.instancing);var K=q+".type",S=k.elements&&r(k.elements);ta&&("number"!==typeof B||0<=B)?"string"===typeof B?(a("if(",B,">0){"),h(),a("}else if(",B,
"<0){"),g(),a("}")):h():g()}function Ea(d,e,a,b,c){e=ba();c=e.proc("body",c);ta&&(e.instancing=c.def(e.shared.extensions,".angle_instanced_arrays"));d(e,c,a,b);return e.compile().body}function Fa(d,e,a,b){pa(d,e);X(d,e,a,b.attributes,function(){return!0});T(d,e,a,b.uniforms,function(){return!0});ua(d,e,e,a)}function Ha(d,e){var a=d.proc("draw",1);pa(d,a);ea(d,a,e.context);O(d,a,e.framebuffer);ha(d,a,e);Q(d,a,e.state);V(d,a,e,!1,!0);var b=e.shader.progVar.append(d,a);a(d.shared.gl,".useProgram(",b,
".program);");if(e.shader.program)Fa(d,a,e,e.shader.program);else{var c=d.global.def("{}"),h=a.def(b,".id"),g=a.def(c,"[",h,"]");a(d.cond(g).then(g,".call(this,a0);")["else"](g,"=",c,"[",h,"]=",d.link(function(a){return Ea(Fa,d,e,a,1)}),"(",b,");",g,".call(this,a0);"))}0<Object.keys(e.state).length&&a(d.shared.current,".dirty=true;")}function Ia(d,e,a,b){function c(){return!0}d.batchId="a1";pa(d,e);X(d,e,a,b.attributes,c);T(d,e,a,b.uniforms,c);ua(d,e,e,a)}function Ca(e,a,b,c){function h(e){return e.contextDep&&
w||e.propDep}function g(e){return!h(e)}pa(e,a);var w=b.contextDep,z=a.def(),m=a.def();e.shared.props=m;e.batchId=z;var k=e.scope(),q=e.scope();a(k.entry,"for(",z,"=0;",z,"<","a1",";++",z,"){",m,"=","a0","[",z,"];",q,"}",k.exit);b.needsContext&&ea(e,q,b.context);b.needsFramebuffer&&O(e,q,b.framebuffer);Q(e,q,b.state,h);b.profile&&h(b.profile)&&V(e,q,b,!1,!0);c?(X(e,k,b,c.attributes,g),X(e,q,b,c.attributes,h),T(e,k,b,c.uniforms,g),T(e,q,b,c.uniforms,h),ua(e,k,q,b)):(a=e.global.def("{}"),c=b.shader.progVar.append(e,
q),m=q.def(c,".id"),k=q.def(a,"[",m,"]"),q(e.shared.gl,".useProgram(",c,".program);","if(!",k,"){",k,"=",a,"[",m,"]=",e.link(function(a){return Ea(Ia,e,b,a,2)}),"(",c,");}",k,".call(this,a0[",z,"],",z,");"))}function Da(e,a){function b(e){return e.contextDep&&h||e.propDep}var c=e.proc("batch",2);e.batchId="0";pa(e,c);var h=!1,g=!0;Object.keys(a.context).forEach(function(e){h=h||a.context[e].propDep});h||(ea(e,c,a.context),g=!1);var w=a.framebuffer,z=!1;w?(w.propDep?h=z=!0:w.contextDep&&h&&(z=!0),
z||O(e,c,w)):O(e,c,null);a.state.viewport&&a.state.viewport.propDep&&(h=!0);ha(e,c,a);Q(e,c,a.state,function(e){return!b(e)});a.profile&&b(a.profile)||V(e,c,a,!1,"a1");a.contextDep=h;a.needsContext=g;a.needsFramebuffer=z;g=a.shader.progVar;if(g.contextDep&&h||g.propDep)Ca(e,c,a,null);else if(g=g.append(e,c),c(e.shared.gl,".useProgram(",g,".program);"),a.shader.program)Ca(e,c,a,a.shader.program);else{var w=e.global.def("{}"),z=c.def(g,".id"),q=c.def(w,"[",z,"]");c(e.cond(q).then(q,".call(this,a0,a1);")["else"](q,
"=",w,"[",z,"]=",e.link(function(b){return Ea(Ca,e,a,b,2)}),"(",g,");",q,".call(this,a0,a1);"))}0<Object.keys(a.state).length&&c(e.shared.current,".dirty=true;")}function Pa(e,a){function b(g){var w=a.shader[g];w&&c.set(h.shader,"."+g,w.append(e,c))}var c=e.proc("scope",3);e.batchId="a2";var h=e.shared,g=h.current;ea(e,c,a.context);a.framebuffer&&a.framebuffer.append(e,c);k(Object.keys(a.state)).forEach(function(b){var g=a.state[b].append(e,c);y(g)?g.forEach(function(a,h){c.set(e.next[b],"["+h+"]",
a)}):c.set(h.next,"."+b,g)});V(e,c,a,!0,!0);["elements","offset","count","instances","primitive"].forEach(function(b){var g=a.draw[b];g&&c.set(h.draw,"."+b,""+g.append(e,c))});Object.keys(a.uniforms).forEach(function(b){c.set(h.uniforms,"["+f.id(b)+"]",a.uniforms[b].append(e,c))});Object.keys(a.attributes).forEach(function(b){var h=a.attributes[b].append(e,c),g=e.scopeAttrib(b);Object.keys(new Ba).forEach(function(e){c.set(g,"."+e,h[e])})});b("vert");b("frag");0<Object.keys(a.state).length&&(c(g,
".dirty=true;"),c.exit(g,".dirty=true;"));c("a1(",e.shared.context,",a0,",e.batchId,");")}function Na(e){if("object"===typeof e&&!y(e)){for(var a=Object.keys(e),b=0;b<a.length;++b)if(g.isDynamic(e[a[b]]))return!0;return!1}}function Ja(e,b,c){function h(e,a){q.forEach(function(d){var b=w[d];g.isDynamic(b)&&(b=e.invoke(a,b),a(n,".",d,"=",b,";"))})}var w=b["static"][c];if(w&&Na(w)){var z=e.global,q=Object.keys(w),k=!1,m=!1,f=!1,n=e.global.def("{}");q.forEach(function(b){var c=w[b];if(g.isDynamic(c))"function"===
typeof c&&(c=w[b]=g.unbox(c)),b=a(c,null),k=k||b.thisDep,f=f||b.propDep,m=m||b.contextDep;else{z(n,".",b,"=");switch(typeof c){case "number":z(c);break;case "string":z('"',c,'"');break;case "object":Array.isArray(c)&&z("[",c.join(),"]");break;default:z(e.link(c))}z(";")}});b.dynamic[c]=new g.DynamicVariable(4,{thisDep:k,contextDep:m,propDep:f,ref:n,append:h});delete b["static"][c]}}var Ba=Aa.Record,ca={add:32774,subtract:32778,"reverse subtract":32779};t.ext_blend_minmax&&(ca.min=32775,ca.max=32776);
var ta=t.angle_instanced_arrays,oa=t.webgl_draw_buffers,e={dirty:!0,profile:ga.profile},z={},w=[],wa={},xa={};R("dither",3024);R("blend.enable",3042);G("blend.color","blendColor",[0,0,0,0]);G("blend.equation","blendEquationSeparate",[32774,32774]);G("blend.func","blendFuncSeparate",[1,0,1,0]);R("depth.enable",2929,!0);G("depth.func","depthFunc",513);G("depth.range","depthRange",[0,1]);G("depth.mask","depthMask",!0);G("colorMask","colorMask",[!0,!0,!0,!0]);R("cull.enable",2884);G("cull.face","cullFace",
1029);G("frontFace","frontFace",2305);G("lineWidth","lineWidth",1);R("polygonOffset.enable",32823);G("polygonOffset.offset","polygonOffset",[0,0]);R("sample.alpha",32926);R("sample.enable",32928);G("sample.coverage","sampleCoverage",[1,!1]);R("stencil.enable",2960);G("stencil.mask","stencilMask",-1);G("stencil.func","stencilFunc",[519,0,-1]);G("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]);G("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]);R("scissor.enable",3089);G("scissor.box",
"scissor",[0,0,h.drawingBufferWidth,h.drawingBufferHeight]);G("viewport","viewport",[0,0,h.drawingBufferWidth,h.drawingBufferHeight]);var Qa={gl:h,context:S,strings:f,next:z,current:e,draw:q,elements:u,buffer:M,shader:va,attributes:Aa.state,uniforms:K,framebuffer:D,extensions:t,timer:ma,isBufferArgs:l},Ma={primTypes:E,compareFuncs:B,blendFuncs:m,blendEquations:ca,stencilOps:Y,glTypes:C,orientationType:L};oa&&(Ma.backBuffer=[1029],Ma.drawBuffer=F(p.maxDrawbuffers,function(e){return 0===e?[0]:F(e,function(e){return 36064+
e})}));var Ra=0;return{next:z,current:e,procs:function(){var a=ba(),b=a.proc("poll"),c=a.proc("refresh"),g=a.block();b(g);c(g);var w=a.shared,z=w.gl,q=w.next,k=w.current;g(k,".dirty=false;");O(a,b);O(a,c,null,!0);var m=h.getExtension("angle_instanced_arrays"),f;m&&(f=a.link(m));for(var n=0;n<p.maxAttributes;++n){var l=c.def(w.attributes,"[",n,"]"),B=a.cond(l,".buffer");B.then(z,".enableVertexAttribArray(",n,");",z,".bindBuffer(",34962,",",l,".buffer.buffer);",z,".vertexAttribPointer(",n,",",l,".size,",
l,".type,",l,".normalized,",l,".stride,",l,".offset);")["else"](z,".disableVertexAttribArray(",n,");",z,".vertexAttrib4f(",n,",",l,".x,",l,".y,",l,".z,",l,".w);",l,".buffer=null;");c(B);m&&c(f,".vertexAttribDivisorANGLE(",n,",",l,".divisor);")}Object.keys(wa).forEach(function(e){var h=wa[e],w=g.def(q,".",e),m=a.block();m("if(",w,"){",z,".enable(",h,")}else{",z,".disable(",h,")}",k,".",e,"=",w,";");c(m);b("if(",w,"!==",k,".",e,"){",m,"}")});Object.keys(xa).forEach(function(h){var w=xa[h],m=e[h],f,
n,l=a.block();l(z,".",w,"(");y(m)?(w=m.length,f=a.global.def(q,".",h),n=a.global.def(k,".",h),l(F(w,function(e){return f+"["+e+"]"}),");",F(w,function(e){return n+"["+e+"]="+f+"["+e+"];"}).join("")),b("if(",F(w,function(e){return f+"["+e+"]!=="+n+"["+e+"]"}).join("||"),"){",l,"}")):(f=g.def(q,".",h),n=g.def(k,".",h),l(f,");",k,".",h,"=",f,";"),b("if(",f,"!==",n,"){",l,"}"));c(l)});return a.compile()}(),compile:function(e,a,b,c,h){var g=ba();g.stats=g.link(h);Object.keys(a["static"]).forEach(function(e){Ja(g,
a,e)});n.forEach(function(a){Ja(g,e,a)});b=la(e,a,b,c,g);Ha(g,b);Pa(g,b);Da(g,b);return g.compile()}}}},{"./constants/dtypes.json":4,"./constants/primitives.json":5,"./dynamic":8,"./util/codegen":21,"./util/is-array-like":24,"./util/is-ndarray":25,"./util/is-typed-array":26,"./util/loop":27}],8:[function(f,p,u){function l(c,a){this.id=r++;this.type=c;this.data=a}function k(c){if(0===c.length)return[];var a=c.charAt(0),b=c.charAt(c.length-1);if(1<c.length&&a===b&&('"'===a||"'"===a))return['"'+c.substr(1,
c.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(c))return k(c.substr(0,a.index)).concat(k(a[1])).concat(k(c.substr(a.index+a[0].length)));a=c.split(".");if(1===a.length)return['"'+c.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];c=[];for(b=0;b<a.length;++b)c=c.concat(k(a[b]));return c}function x(c){return"["+k(c).join("][")+"]"}var r=0;p.exports={DynamicVariable:l,define:function(c,a){return new l(c,x(a+""))},isDynamic:function(c){return"function"===
typeof c&&!c._reglType||c instanceof l},unbox:function(c,a){return"function"===typeof c?new l(0,c):c},accessor:x}},{}],9:[function(f,p,u){var l=f("./util/is-typed-array"),k=f("./util/is-ndarray"),x=f("./util/values"),r=f("./constants/primitives.json"),c=f("./constants/usage.json");p.exports=function(a,b,f,p){function t(a){this.id=C++;E[this.id]=this;this.buffer=a;this.primType=4;this.type=this.vertCount=0}function y(c,g,n,r,x,h,t){c.buffer.bind();if(g){var y=t;t||l(g)&&(!k(g)||l(g.data))||(y=b.oes_element_index_uint?
5125:5123);f._initBuffer(c.buffer,g,n,y,3)}else a.bufferData(34963,h,n),c.buffer.dtype=y||5121,c.buffer.usage=n,c.buffer.dimension=3,c.buffer.byteLength=h;y=t;if(!t){switch(c.buffer.dtype){case 5121:case 5120:y=5121;break;case 5123:case 5122:y=5123;break;case 5125:case 5124:y=5125}c.buffer.dtype=y}c.type=y;g=x;0>g&&(g=c.buffer.byteLength,5123===y?g>>=1:5125===y&&(g>>=2));c.vertCount=g;g=r;0>r&&(g=4,r=c.buffer.dimension,1===r&&(g=0),2===r&&(g=1),3===r&&(g=4));c.primType=g}function g(a){p.elementsCount--;
delete E[a.id];a.buffer.destroy();a.buffer=null}var E={},C=0,N={uint8:5121,uint16:5123};b.oes_element_index_uint&&(N.uint32=5125);t.prototype.bind=function(){this.buffer.bind()};var n=[];return{create:function(a,b){function n(a){if(a)if("number"===typeof a)x(a),C.primType=4,C.vertCount=a|0,C.type=5121;else{var b=null,g=35044,m=-1,f=-1,t=0,B=0;if(Array.isArray(a)||l(a)||k(a))b=a;else if("data"in a&&(b=a.data),"usage"in a&&(g=c[a.usage]),"primitive"in a&&(m=r[a.primitive]),"count"in a&&(f=a.count|0),
"type"in a&&(B=N[a.type]),"length"in a)t=a.length|0;else if(t=f,5123===B||5122===B)t*=2;else if(5125===B||5124===B)t*=4;y(C,b,g,m,f,t,B)}else x(),C.primType=4,C.vertCount=0,C.type=5121;return n}var x=f.create(null,34963,!0),C=new t(x._buffer);p.elementsCount++;n(a);n._reglType="elements";n._elements=C;n.subdata=function(a,b){x.subdata(a,b);return n};n.destroy=function(){g(C)};return n},createStream:function(a){var b=n.pop();b||(b=new t(f.create(null,34963,!0,!1)._buffer));y(b,a,35040,-1,-1,0,0);return b},
destroyStream:function(a){n.push(a)},getElements:function(a){return"function"===typeof a&&a._elements instanceof t?a._elements:null},clear:function(){x(E).forEach(g)}}}},{"./constants/primitives.json":5,"./constants/usage.json":6,"./util/is-ndarray":25,"./util/is-typed-array":26,"./util/values":31}],10:[function(f,p,u){p.exports=function(f,k){function x(a){a=a.toLowerCase();var c;try{c=r[a]=f.getExtension(a)}catch(k){}return!!c}for(var r={},c=0;c<k.extensions.length;++c){var a=k.extensions[c];if(!x(a))return k.onDestroy(),
k.onDone('"'+a+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}k.optionalExtensions.forEach(x);return{extensions:r,restore:function(){Object.keys(r).forEach(function(a){if(!x(a))throw Error("(regl): error restoring extension "+a);})}}}},{}],11:[function(f,p,u){var l=f("./util/values"),k=f("./util/extend"),x=[];x[6408]=4;var r=[];r[5121]=1;r[5126]=4;r[36193]=2;p.exports=function(c,a,b,f,p,t){function y(a,c,b){this.target=a;this.texture=
c;this.renderbuffer=b;var h=a=0;c?(a=c.width,h=c.height):b&&(a=b.width,h=b.height);this.width=a;this.height=h}function g(a){a&&(a.texture&&a.texture._texture.decRef(),a.renderbuffer&&a.renderbuffer._renderbuffer.decRef())}function E(a,c,b){a&&(a.texture?a.texture._texture.refCount+=1:a.renderbuffer._renderbuffer.refCount+=1)}function C(a,b){b&&(b.texture?c.framebufferTexture2D(36160,a,b.target,b.texture._texture.texture,0):c.framebufferRenderbuffer(36160,a,36161,b.renderbuffer._renderbuffer.renderbuffer))}
function N(a){var b=3553,c=null,h=null,g=a;"object"===typeof a&&(g=a.data,"target"in a&&(b=a.target|0));a=g._reglType;"texture2d"===a?c=g:"textureCube"===a?c=g:"renderbuffer"===a&&(h=g,b=36161);return new y(b,c,h)}function n(a,b,c,h,g){if(c)return a=f.create2D({width:a,height:b,format:h,type:g}),a._texture.refCount=0,new y(3553,a,null);a=p.create({width:a,height:b,format:h});a._renderbuffer.refCount=0;return new y(36161,null,a)}function m(a){return a&&(a.texture||a.renderbuffer)}function B(a,b,c){a&&
(a.texture?a.texture.resize(b,c):a.renderbuffer&&a.renderbuffer.resize(b,c))}function u(){this.id=Z++;D[this.id]=this;this.framebuffer=c.createFramebuffer();this.height=this.width=0;this.colorAttachments=[];this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function L(a){a.colorAttachments.forEach(g);g(a.depthAttachment);g(a.stencilAttachment);g(a.depthStencilAttachment)}function H(a){c.deleteFramebuffer(a.framebuffer);a.framebuffer=null;t.framebufferCount--;delete D[a.id]}
function h(a){var h;c.bindFramebuffer(36160,a.framebuffer);var g=a.colorAttachments;for(h=0;h<g.length;++h)C(36064+h,g[h]);for(h=g.length;h<b.maxColorAttachments;++h)c.framebufferTexture2D(36160,36064+h,3553,null,0);c.framebufferTexture2D(36160,33306,3553,null,0);c.framebufferTexture2D(36160,36096,3553,null,0);c.framebufferTexture2D(36160,36128,3553,null,0);C(36096,a.depthAttachment);C(36128,a.stencilAttachment);C(33306,a.depthStencilAttachment);c.checkFramebufferStatus(36160);c.bindFramebuffer(36160,
Ka.next);Ka.cur=Ka.next;c.getError()}function fa(a,b){function c(a,b){var k,f=0,l=0,t=!0,y=!0;k=null;var B=!0,C="rgba",F="uint8",p=1,M=null,H=null,u=null,Y=!1;if("number"===typeof a)f=a|0,l=b|0||f;else if(a){"shape"in a?(l=a.shape,f=l[0],l=l[1]):("radius"in a&&(f=l=a.radius),"width"in a&&(f=a.width),"height"in a&&(l=a.height));if("color"in a||"colors"in a)k=a.color||a.colors,Array.isArray(k);if(!k){"colorCount"in a&&(p=a.colorCount|0);"colorTexture"in a&&(B=!!a.colorTexture,C="rgba4");if("colorType"in
a&&(F=a.colorType,!B))if("half float"===F||"float16"===F)C="rgba16f";else if("float"===F||"float32"===F)C="rgba32f";"colorFormat"in a&&(C=a.colorFormat,0<=La.indexOf(C)?B=!0:0<=za.indexOf(C)&&(B=!1))}if("depthTexture"in a||"depthStencilTexture"in a)Y=!(!a.depthTexture&&!a.depthStencilTexture);"depth"in a&&("boolean"===typeof a.depth?t=a.depth:(M=a.depth,y=!1));"stencil"in a&&("boolean"===typeof a.stencil?y=a.stencil:(H=a.stencil,t=!1));"depthStencil"in a&&("boolean"===typeof a.depthStencil?t=y=a.depthStencil:
(u=a.depthStencil,y=t=!1))}else f=l=1;var D=null,fa=null,K=null,O=null;if(Array.isArray(k))D=k.map(N);else if(k)D=[N(k)];else for(D=Array(p),k=0;k<p;++k)D[k]=n(f,l,B,C,F);f=f||D[0].width;l=l||D[0].height;M?fa=N(M):t&&!y&&(fa=n(f,l,Y,"depth","uint32"));H?K=N(H):y&&!t&&(K=n(f,l,!1,"stencil","uint8"));u?O=N(u):!M&&!H&&y&&t&&(O=n(f,l,Y,"depth stencil","depth stencil"));t=null;for(k=0;k<D.length;++k)E(D[k],f,l),D[k]&&D[k].texture&&(y=x[D[k].texture._texture.format]*r[D[k].texture._texture.type],null===
t&&(t=y));E(fa,f,l);E(K,f,l);E(O,f,l);L(g);g.width=f;g.height=l;g.colorAttachments=D;g.depthAttachment=fa;g.stencilAttachment=K;g.depthStencilAttachment=O;c.color=D.map(m);c.depth=m(fa);c.stencil=m(K);c.depthStencil=m(O);c.width=g.width;c.height=g.height;h(g);return c}var g=new u;t.framebufferCount++;c(a,b);return k(c,{resize:function(a,b){var k=a|0,f=b|0||k;if(k===g.width&&f===g.height)return c;for(var m=g.colorAttachments,l=0;l<m.length;++l)B(m[l],k,f);B(g.depthAttachment,k,f);B(g.stencilAttachment,
k,f);B(g.depthStencilAttachment,k,f);g.width=c.width=k;g.height=c.height=f;h(g);return c},_reglType:"framebuffer",_framebuffer:g,destroy:function(){H(g);L(g)}})}var Ka={cur:null,next:null,dirty:!1},La=["rgba"],za=["rgba4","rgb565","rgb5 a1"];a.ext_srgb&&za.push("srgba");a.ext_color_buffer_half_float&&za.push("rgba16f","rgb16f");a.webgl_color_buffer_float&&za.push("rgba32f");var Ga=["uint8"];a.oes_texture_half_float&&Ga.push("half float","float16");a.oes_texture_float&&Ga.push("float","float32");var Z=
0,D={};return k(Ka,{getFramebuffer:function(a){return"function"===typeof a&&"framebuffer"===a._reglType&&(a=a._framebuffer,a instanceof u)?a:null},create:fa,createCube:function(a){function c(a){var g,h={color:null},m=0,l=null;g="rgba";var n="uint8",r=1;if("number"===typeof a)m=a|0;else if(a){"shape"in a?m=a.shape[0]:("radius"in a&&(m=a.radius|0),"width"in a?m=a.width|0:"height"in a&&(m=a.height|0));if("color"in a||"colors"in a)l=a.color||a.colors,Array.isArray(l);l||("colorCount"in a&&(r=a.colorCount|
0),"colorType"in a&&(n=a.colorType),"colorFormat"in a&&(g=a.colorFormat));"depth"in a&&(h.depth=a.depth);"stencil"in a&&(h.stencil=a.stencil);"depthStencil"in a&&(h.depthStencil=a.depthStencil)}else m=1;if(l)if(Array.isArray(l))for(a=[],g=0;g<l.length;++g)a[g]=l[g];else a=[l];else for(a=Array(r),l={radius:m,format:g,type:n},g=0;g<r;++g)a[g]=f.createCube(l);h.color=Array(a.length);for(g=0;g<a.length;++g)r=a[g],m=m||r.width,h.color[g]={target:34069,data:a[g]};for(g=0;6>g;++g){for(r=0;r<a.length;++r)h.color[r].target=
34069+g;0<g&&(h.depth=b[0].depth,h.stencil=b[0].stencil,h.depthStencil=b[0].depthStencil);if(b[g])b[g](h);else b[g]=fa(h)}return k(c,{width:m,height:m,color:a})}var b=Array(6);c(a);return k(c,{faces:b,resize:function(a){var g=a|0;if(g===c.width)return c;var h=c.color;for(a=0;a<h.length;++a)h[a].resize(g);for(a=0;6>a;++a)b[a].resize(g);c.width=c.height=g;return c},_reglType:"framebufferCube",destroy:function(){b.forEach(function(a){a.destroy()})}})},clear:function(){l(D).forEach(H)},restore:function(){l(D).forEach(function(a){a.framebuffer=
c.createFramebuffer();h(a)})}})}},{"./util/extend":22,"./util/values":31}],12:[function(f,p,u){p.exports=function(f,k){var x=1;k.ext_texture_filter_anisotropic&&(x=f.getParameter(34047));var r=1,c=1;k.webgl_draw_buffers&&(r=f.getParameter(34852),c=f.getParameter(36063));return{colorBits:[f.getParameter(3410),f.getParameter(3411),f.getParameter(3412),f.getParameter(3413)],depthBits:f.getParameter(3414),stencilBits:f.getParameter(3415),subpixelBits:f.getParameter(3408),extensions:Object.keys(k).filter(function(a){return!!k[a]}),
maxAnisotropic:x,maxDrawbuffers:r,maxColorAttachments:c,pointSizeDims:f.getParameter(33901),lineWidthDims:f.getParameter(33902),maxViewportDims:f.getParameter(3386),maxCombinedTextureUnits:f.getParameter(35661),maxCubeMapSize:f.getParameter(34076),maxRenderbufferSize:f.getParameter(34024),maxTextureUnits:f.getParameter(34930),maxTextureSize:f.getParameter(3379),maxAttributes:f.getParameter(34921),maxVertexUniforms:f.getParameter(36347),maxVertexTextureUnits:f.getParameter(35660),maxVaryingVectors:f.getParameter(36348),
maxFragmentUniforms:f.getParameter(36349),glsl:f.getParameter(35724),renderer:f.getParameter(7937),vendor:f.getParameter(7936),version:f.getParameter(7938)}}},{}],13:[function(f,p,u){var l=f("./util/is-typed-array");p.exports=function(k,f,r,c,a,b){return function(a){var b;b=null===f.next?5121:f.next.colorAttachments[0].texture._texture.type;var t=0,y=0,g=c.framebufferWidth,p=c.framebufferHeight,C=null;l(a)?C=a:a&&(t=a.x|0,y=a.y|0,g=(a.width||c.framebufferWidth-t)|0,p=(a.height||c.framebufferHeight-
y)|0,C=a.data||null);r();a=g*p*4;C||(5121===b?C=new Uint8Array(a):5126===b&&(C=C||new Float32Array(a)));k.pixelStorei(3333,4);k.readPixels(t,y,g,p,6408,b,C);return C}}},{"./util/is-typed-array":26}],14:[function(f,p,u){var l=f("./util/values"),k=[];k[32854]=2;k[32855]=2;k[36194]=2;k[33189]=2;k[36168]=1;k[34041]=4;k[35907]=4;k[34836]=16;k[34842]=8;k[34843]=6;p.exports=function(f,r,c,a,b){function p(a){this.id=g++;this.refCount=1;this.renderbuffer=a;this.format=32854;this.height=this.width=0;b.profile&&
(this.stats={size:0})}function M(b){var c=b.renderbuffer;f.bindRenderbuffer(36161,null);f.deleteRenderbuffer(c);b.renderbuffer=null;b.refCount=0;delete E[b.id];a.renderbufferCount--}var t={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};r.ext_srgb&&(t.srgba=35907);r.ext_color_buffer_half_float&&(t.rgba16f=34842,t.rgb16f=34843);r.webgl_color_buffer_float&&(t.rgba32f=34836);var y=[];Object.keys(t).forEach(function(a){y[t[a]]=a});var g=0,E={};p.prototype.decRef=
function(){0>=--this.refCount&&M(this)};b.profile&&(a.getTotalRenderbufferSize=function(){var a=0;Object.keys(E).forEach(function(b){a+=E[b].stats.size});return a});return{create:function(c,g){function n(a,c){var g=0,l=0,h=32854;"object"===typeof a&&a?("shape"in a?(l=a.shape,g=l[0]|0,l=l[1]|0):("radius"in a&&(g=l=a.radius|0),"width"in a&&(g=a.width|0),"height"in a&&(l=a.height|0)),"format"in a&&(h=t[a.format])):"number"===typeof a?(g=a|0,l="number"===typeof c?c|0:g):a||(g=l=1);if(g!==m.width||l!==
m.height||h!==m.format)return n.width=m.width=g,n.height=m.height=l,m.format=h,f.bindRenderbuffer(36161,m.renderbuffer),f.renderbufferStorage(36161,h,g,l),b.profile&&(m.stats.size=k[m.format]*m.width*m.height),n.format=y[m.format],n}var m=new p(f.createRenderbuffer());E[m.id]=m;a.renderbufferCount++;n(c,g);n.resize=function(a,c){var g=a|0,l=c|0||g;if(g===m.width&&l===m.height)return n;n.width=m.width=g;n.height=m.height=l;f.bindRenderbuffer(36161,m.renderbuffer);f.renderbufferStorage(36161,m.format,
g,l);b.profile&&(m.stats.size=k[m.format]*m.width*m.height);return n};n._reglType="renderbuffer";n._renderbuffer=m;b.profile&&(n.stats=m.stats);n.destroy=function(){m.decRef()};return n},clear:function(){l(E).forEach(M)},restore:function(){l(E).forEach(function(a){a.renderbuffer=f.createRenderbuffer();f.bindRenderbuffer(36161,a.renderbuffer);f.renderbufferStorage(36161,a.format,a.width,a.height)});f.bindRenderbuffer(36161,null)}}}},{"./util/values":31}],15:[function(f,p,u){var l=f("./util/values");
p.exports=function(f,x,r,c){function a(a,c,b,g){this.name=a;this.id=c;this.location=b;this.info=g}function b(a,c){for(var b=0;b<a.length;++b)if(a[b].id===c.id){a[b].location=c.location;return}a.push(c)}function p(a,c,b){b=35632===a?y:g;var l=b[c];if(!l){var r=x.str(c),l=f.createShader(a);f.shaderSource(l,r);f.compileShader(l);b[c]=l}return l}function M(a,b){this.id=u++;this.fragId=a;this.vertId=b;this.program=null;this.uniforms=[];this.attributes=[];c.profile&&(this.stats={uniformsCount:0,attributesCount:0})}
function t(g,m){var l,r;l=p(35632,g.fragId);r=p(35633,g.vertId);var t=g.program=f.createProgram();f.attachShader(t,l);f.attachShader(t,r);f.linkProgram(t);var y=f.getProgramParameter(t,35718);c.profile&&(g.stats.uniformsCount=y);var h=g.uniforms;for(l=0;l<y;++l)if(r=f.getActiveUniform(t,l))if(1<r.size)for(var C=0;C<r.size;++C){var E=r.name.replace("[0]","["+C+"]");b(h,new a(E,x.id(E),f.getUniformLocation(t,E),r))}else b(h,new a(r.name,x.id(r.name),f.getUniformLocation(t,r.name),r));y=f.getProgramParameter(t,
35721);c.profile&&(g.stats.attributesCount=y);h=g.attributes;for(l=0;l<y;++l)(r=f.getActiveAttrib(t,l))&&b(h,new a(r.name,x.id(r.name),f.getAttribLocation(t,r.name),r))}var y={},g={},E={},C=[],u=0;c.profile&&(r.getMaxUniformsCount=function(){var a=0;C.forEach(function(b){b.stats.uniformsCount>a&&(a=b.stats.uniformsCount)});return a},r.getMaxAttributesCount=function(){var a=0;C.forEach(function(b){b.stats.attributesCount>a&&(a=b.stats.attributesCount)});return a});return{clear:function(){var a=f.deleteShader.bind(f);
l(y).forEach(a);y={};l(g).forEach(a);g={};C.forEach(function(a){f.deleteProgram(a.program)});C.length=0;E={};r.shaderCount=0},program:function(a,b,c){r.shaderCount++;var g=E[b];g||(g=E[b]={});var f=g[a];f||(f=new M(b,a),t(f,c),g[a]=f,C.push(f));return f},restore:function(){y={};g={};for(var a=0;a<C.length;++a)t(C[a])},shader:p,frag:-1,vert:-1}}},{"./util/values":31}],16:[function(f,p,u){p.exports=function(){return{bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,
renderbufferCount:0,maxTextureUnits:0}}},{}],17:[function(f,p,u){p.exports=function(){var f={"":0},k=[""];return{id:function(x){var r=f[x];if(r)return r;r=f[x]=k.length;k.push(x);return r},str:function(f){return k[f]}}}},{}],18:[function(f,p,u){function l(a){return Array.isArray(a)&&(0===a.length||"number"===typeof a[0])}function k(a){return Array.isArray(a)&&0!==a.length&&E(a[0])?!0:!1}function x(a){return Object.prototype.toString.call(a)}function r(a){if(!a)return!1;var b=x(a);return 0<=Y.indexOf(b)?
!0:l(a)||k(a)||t(a)}function c(a,b){36193===a.type?(a.data=g(b),y.freeType(b)):a.data=b}function a(a,b,c,g,f,k){a="undefined"!==typeof H[a]?H[a]:B[a]*L[b];k&&(a*=6);if(f){for(g=0;1<=c;)g+=a*c*c,c/=2;return g}return a*c*g}var b=f("./util/extend"),F=f("./util/values"),M=f("./util/is-typed-array"),t=f("./util/is-ndarray"),y=f("./util/pool"),g=f("./util/to-half-float"),E=f("./util/is-array-like"),C=f("./util/flatten");u=f("./constants/arraytypes.json");var N=f("./constants/arraytypes.json"),n=[9984,9986,
9985,9987],m=[0,6409,6410,6407,6408],B={};B[6409]=B[6406]=B[6402]=1;B[34041]=B[6410]=2;B[6407]=B[35904]=3;B[6408]=B[35906]=4;var Y=Object.keys(u).concat(["[object HTMLCanvasElement]","[object CanvasRenderingContext2D]","[object HTMLImageElement]","[object HTMLVideoElement]"]),L=[];L[5121]=1;L[5126]=4;L[36193]=2;L[5123]=2;L[5125]=4;var H=[];H[32854]=2;H[32855]=2;H[36194]=2;H[34041]=4;H[33776]=.5;H[33777]=.5;H[33778]=1;H[33779]=1;H[35986]=.5;H[35987]=1;H[34798]=1;H[35840]=.5;H[35841]=.25;H[35842]=.5;
H[35843]=.25;H[36196]=.5;p.exports=function(h,f,p,u,H,L,Z){function D(){this.format=this.internalformat=6408;this.type=5121;this.flipY=this.premultiplyAlpha=this.compressed=!1;this.unpackAlignment=1;this.channels=this.height=this.width=this.colorSpace=0}function K(a,b){a.internalformat=b.internalformat;a.format=b.format;a.type=b.type;a.compressed=b.compressed;a.premultiplyAlpha=b.premultiplyAlpha;a.flipY=b.flipY;a.unpackAlignment=b.unpackAlignment;a.colorSpace=b.colorSpace;a.width=b.width;a.height=
b.height;a.channels=b.channels}function Y(a,b){if("object"===typeof b&&b){"premultiplyAlpha"in b&&(a.premultiplyAlpha=b.premultiplyAlpha);"flipY"in b&&(a.flipY=b.flipY);"alignment"in b&&(a.unpackAlignment=b.alignment);"colorSpace"in b&&(a.colorSpace=pa[b.colorSpace]);"type"in b&&(a.type=V[b.type]);var c=a.width,g=a.height,h=a.channels,f=!1;"shape"in b?(c=b.shape[0],g=b.shape[1],3===b.shape.length&&(h=b.shape[2],f=!0)):("radius"in b&&(c=g=b.radius),"width"in b&&(c=b.width),"height"in b&&(g=b.height),
"channels"in b&&(h=b.channels,f=!0));a.width=c|0;a.height=g|0;a.channels=h|0;c=!1;"format"in b&&(c=b.format,g=a.internalformat=X[c],a.format=Pa[g],c in V&&!("type"in b)&&(a.type=V[c]),c in T&&(a.compressed=!0),c=!0);!f&&c?a.channels=B[a.format]:f&&!c&&a.channels!==m[a.format]&&(a.format=a.internalformat=m[a.channels])}}function va(a){h.pixelStorei(37440,a.flipY);h.pixelStorei(37441,a.premultiplyAlpha);h.pixelStorei(37443,a.colorSpace);h.pixelStorei(3317,a.unpackAlignment)}function q(){D.call(this);
this.yOffset=this.xOffset=0;this.data=null;this.needsFree=!1;this.element=null;this.needsCopy=!1}function S(a,b){var h=null;r(b)?h=b:b&&(Y(a,b),"x"in b&&(a.xOffset=b.x|0),"y"in b&&(a.yOffset=b.y|0),r(b.data)&&(h=b.data));if(b.copy){var f=H.viewportWidth,n=H.viewportHeight;a.width=a.width||f-a.xOffset;a.height=a.height||n-a.yOffset;a.needsCopy=!0}else if(!h)a.width=a.width||1,a.height=a.height||1,a.channels=a.channels||4;else if(M(h))a.channels=a.channels||4,a.data=h,"type"in b||5121!==a.type||(a.type=
N[Object.prototype.toString.call(h)]|0);else if(l(h)){a.channels=a.channels||4;f=h;n=f.length;switch(a.type){case 5121:case 5123:case 5125:case 5126:n=y.allocType(a.type,n);n.set(f);a.data=n;break;case 36193:a.data=g(f)}a.alignment=1;a.needsFree=!0}else if(t(h)){f=h.data;Array.isArray(f)||5121!==a.type||(a.type=N[Object.prototype.toString.call(f)]|0);var n=h.shape,q=h.stride,p,F,d,v;3===n.length?(d=n[2],v=q[2]):v=d=1;p=n[0];F=n[1];n=q[0];q=q[1];a.alignment=1;a.width=p;a.height=F;a.channels=d;a.format=
a.internalformat=m[d];a.needsFree=!0;p=v;h=h.offset;d=a.width;v=a.height;F=a.channels;for(var u=y.allocType(36193===a.type?5126:a.type,d*v*F),B=0,A=0;A<v;++A)for(var D=0;D<d;++D)for(var ua=0;ua<F;++ua)u[B++]=f[n*D+q*A+p*ua+h];c(a,u)}else if("[object HTMLCanvasElement]"===x(h)||"[object CanvasRenderingContext2D]"===x(h))"[object HTMLCanvasElement]"===x(h)?a.element=h:a.element=h.canvas,a.width=a.element.width,a.height=a.element.height,a.channels=4;else if("[object HTMLImageElement]"===x(h))a.element=
h,a.width=h.naturalWidth,a.height=h.naturalHeight,a.channels=4;else if("[object HTMLVideoElement]"===x(h))a.element=h,a.width=h.videoWidth,a.height=h.videoHeight,a.channels=4;else if(k(h)){f=a.width||h[0].length;n=a.height||h.length;q=a.channels;q=E(h[0][0])?q||h[0][0].length:q||1;p=C.shape(h);d=1;for(v=0;v<p.length;++v)d*=p[v];d=y.allocType(36193===a.type?5126:a.type,d);C.flatten(h,p,"",d);c(a,d);a.alignment=1;a.width=f;a.height=n;a.channels=q;a.format=a.internalformat=m[q];a.needsFree=!0}}function ma(a,
b,c,g,f){var k=a.element,l=a.data,m=a.internalformat,d=a.format,r=a.type,n=a.width,q=a.height;va(a);k?h.texSubImage2D(b,f,c,g,d,r,k):a.compressed?h.compressedTexSubImage2D(b,f,c,g,m,n,q,l):a.needsCopy?(u(),h.copyTexSubImage2D(b,f,c,g,a.xOffset,a.yOffset,n,q)):h.texSubImage2D(b,f,c,g,n,q,d,r,l)}function ga(){return Na.pop()||new q}function W(a){a.needsFree&&y.freeType(a.data);q.call(a);Na.push(a)}function R(){D.call(this);this.genMipmaps=!1;this.mipmapHint=4352;this.mipmask=0;this.images=Array(16)}
function G(a,b,c){var g=a.images[0]=ga();a.mipmask=1;g.width=a.width=b;g.height=a.height=c;g.channels=a.channels=4}function ba(a,b){var c=null;if(r(b))c=a.images[0]=ga(),K(c,a),S(c,b),a.mipmask=1;else if(Y(a,b),Array.isArray(b.mipmap))for(var g=b.mipmap,h=0;h<g.length;++h)c=a.images[h]=ga(),K(c,a),c.width>>=h,c.height>>=h,S(c,g[h]),a.mipmask|=1<<h;else c=a.images[0]=ga(),K(c,a),S(c,b),a.mipmask=1;K(a,a.images[0])}function na(a,b){for(var c=a.images,g=0;g<c.length&&c[g];++g){var f=c[g],k=b,l=g,m=f.element,
d=f.data,r=f.internalformat,n=f.format,q=f.type,t=f.width,y=f.height;va(f);m?h.texImage2D(k,l,n,n,q,m):f.compressed?h.compressedTexImage2D(k,l,r,t,y,0,d):f.needsCopy?(u(),h.copyTexImage2D(k,l,n,f.xOffset,f.yOffset,t,y,0)):h.texImage2D(k,l,n,t,y,0,n,q,d)}}function ya(){var a=Ja.pop()||new R;D.call(a);for(var b=a.mipmask=0;16>b;++b)a.images[b]=null;return a}function U(a){for(var b=a.images,c=0;c<b.length;++c)b[c]&&W(b[c]),b[c]=null;Ja.push(a)}function ia(){this.magFilter=this.minFilter=9728;this.wrapT=
this.wrapS=33071;this.anisotropic=1;this.genMipmaps=!1;this.mipmapHint=4352}function ka(a,b){"min"in b&&(a.minFilter=Q[b.min],0<=n.indexOf(a.minFilter)&&(a.genMipmaps=!0));"mag"in b&&(a.magFilter=ha[b.mag]);var c=a.wrapS,g=a.wrapT;if("wrap"in b){var h=b.wrap;"string"===typeof h?c=g=O[h]:Array.isArray(h)&&(c=O[h[0]],g=O[h[1]])}else"wrapS"in b&&(c=O[b.wrapS]),"wrapT"in b&&(g=O[b.wrapT]);a.wrapS=c;a.wrapT=g;"anisotropic"in b&&(a.anisotropic=b.anisotropic);if("mipmap"in b){c=!1;switch(typeof b.mipmap){case "string":a.mipmapHint=
ea[b.mipmap];c=a.genMipmaps=!0;break;case "boolean":c=a.genMipmaps=b.mipmap;break;case "object":a.genMipmaps=!1,c=!0}!c||"min"in b||(a.minFilter=9984)}}function ra(a,b){h.texParameteri(b,10241,a.minFilter);h.texParameteri(b,10240,a.magFilter);h.texParameteri(b,10242,a.wrapS);h.texParameteri(b,10243,a.wrapT);f.ext_texture_filter_anisotropic&&h.texParameteri(b,34046,a.anisotropic);a.genMipmaps&&(h.hint(33170,a.mipmapHint),h.generateMipmap(b))}function sa(a){D.call(this);this.mipmask=0;this.internalformat=
6408;this.id=Ba++;this.refCount=1;this.target=a;this.texture=h.createTexture();this.unit=-1;this.bindCount=0;this.texInfo=new ia;Z.profile&&(this.stats={size:0})}function da(a){h.activeTexture(33984);h.bindTexture(a.target,a.texture)}function ja(){var a=oa[0];a?h.bindTexture(a.target,a.texture):h.bindTexture(3553,null)}function la(a){var b=a.texture,c=a.unit,g=a.target;0<=c&&(h.activeTexture(33984+c),h.bindTexture(g,null),oa[c]=null);h.deleteTexture(b);a.texture=null;a.params=null;a.pixels=null;a.refCount=
0;delete ca[a.id];L.textureCount--}var ea={"don't care":4352,"dont care":4352,nice:4354,fast:4353},O={repeat:10497,clamp:33071,mirror:33648},ha={nearest:9728,linear:9729},Q=b({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},ha),pa={none:0,browser:37444},V={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},X={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},
T={};f.ext_srgb&&(X.srgb=35904,X.srgba=35906);f.oes_texture_float&&(V.float32=V["float"]=5126);f.oes_texture_half_float&&(V.float16=V["half float"]=36193);f.webgl_depth_texture&&(b(X,{depth:6402,"depth stencil":34041}),b(V,{uint16:5123,uint32:5125,"depth stencil":34042}));f.webgl_compressed_texture_s3tc&&b(T,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779});f.webgl_compressed_texture_atc&&b(T,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798});
f.webgl_compressed_texture_pvrtc&&b(T,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843});f.webgl_compressed_texture_etc1&&(T["rgb etc1"]=36196);var ua=Array.prototype.slice.call(h.getParameter(34467));Object.keys(T).forEach(function(a){var b=T[a];0<=ua.indexOf(b)&&(X[a]=b)});var Ea=Object.keys(X);p.textureFormats=Ea;var Fa=[];Object.keys(X).forEach(function(a){Fa[X[a]]=a});var Ha=[];Object.keys(V).forEach(function(a){Ha[V[a]]=a});var Ia=[];Object.keys(ha).forEach(function(a){Ia[ha[a]]=
a});var Ca=[];Object.keys(Q).forEach(function(a){Ca[Q[a]]=a});var Da=[];Object.keys(O).forEach(function(a){Da[O[a]]=a});var Pa=Ea.reduce(function(a,b){var c=X[b];6409===c||6406===c||6409===c||6410===c||6402===c||34041===c?a[c]=c:32855===c||0<=b.indexOf("rgba")?a[c]=6408:a[c]=6407;return a},{}),Na=[],Ja=[],Ba=0,ca={},ta=p.maxTextureUnits,oa=Array(ta).map(function(){return null});b(sa.prototype,{bind:function(){this.bindCount+=1;var a=this.unit;if(0>a){for(var b=0;b<ta;++b){var c=oa[b];if(c){if(0<c.bindCount)continue;
c.unit=-1}oa[b]=this;a=b;break}Z.profile&&L.maxTextureUnits<a+1&&(L.maxTextureUnits=a+1);this.unit=a;h.activeTexture(33984+a);h.bindTexture(this.target,this.texture)}return a},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&la(this)}});Z.profile&&(L.getTotalTextureSize=function(){var a=0;Object.keys(ca).forEach(function(b){a+=ca[b].stats.size});return a});return{create2D:function(b,c){function g(b,c){var e=f.texInfo;ia.call(e);var h=ya();"number"===typeof b?"number"===typeof c?
G(h,b|0,c|0):G(h,b|0,b|0):b?(ka(e,b),ba(h,b)):G(h,1,1);e.genMipmaps&&(h.mipmask=(h.width<<1)-1);f.mipmask=h.mipmask;K(f,h);f.internalformat=h.internalformat;g.width=h.width;g.height=h.height;da(f);na(h,3553);ra(e,3553);ja();U(h);Z.profile&&(f.stats.size=a(f.internalformat,f.type,h.width,h.height,e.genMipmaps,!1));g.format=Fa[f.internalformat];g.type=Ha[f.type];g.mag=Ia[e.magFilter];g.min=Ca[e.minFilter];g.wrapS=Da[e.wrapS];g.wrapT=Da[e.wrapT];return g}var f=new sa(3553);ca[f.id]=f;L.textureCount++;
g(b,c);g.subimage=function(a,b,c,e){b|=0;c|=0;e|=0;var d=ga();K(d,f);d.width=0;d.height=0;S(d,a);d.width=d.width||(f.width>>e)-b;d.height=d.height||(f.height>>e)-c;da(f);ma(d,3553,b,c,e);ja();W(d);return g};g.resize=function(b,c){var e=b|0,k=c|0||e;if(e===f.width&&k===f.height)return g;g.width=f.width=e;g.height=f.height=k;da(f);for(var d=0;f.mipmask>>d;++d)h.texImage2D(3553,d,f.format,e>>d,k>>d,0,f.format,f.type,null);ja();Z.profile&&(f.stats.size=a(f.internalformat,f.type,e,k,!1,!1));return g};
g._reglType="texture2d";g._texture=f;Z.profile&&(g.stats=f.stats);g.destroy=function(){f.decRef()};return g},createCube:function(b,c,g,f,k,l){function m(b,c,e,g,h,f){var k,l=n.texInfo;ia.call(l);for(k=0;6>k;++k)d[k]=ya();if("number"===typeof b||!b)for(b=b|0||1,k=0;6>k;++k)G(d[k],b,b);else if("object"===typeof b)if(c)ba(d[0],b),ba(d[1],c),ba(d[2],e),ba(d[3],g),ba(d[4],h),ba(d[5],f);else if(ka(l,b),Y(n,b),"faces"in b)for(b=b.faces,k=0;6>k;++k)K(d[k],n),ba(d[k],b[k]);else for(k=0;6>k;++k)ba(d[k],b);
K(n,d[0]);n.mipmask=l.genMipmaps?(d[0].width<<1)-1:d[0].mipmask;n.internalformat=d[0].internalformat;m.width=d[0].width;m.height=d[0].height;da(n);for(k=0;6>k;++k)na(d[k],34069+k);ra(l,34067);ja();Z.profile&&(n.stats.size=a(n.internalformat,n.type,m.width,m.height,l.genMipmaps,!0));m.format=Fa[n.internalformat];m.type=Ha[n.type];m.mag=Ia[l.magFilter];m.min=Ca[l.minFilter];m.wrapS=Da[l.wrapS];m.wrapT=Da[l.wrapT];for(k=0;6>k;++k)U(d[k]);return m}var n=new sa(34067);ca[n.id]=n;L.cubeCount++;var d=Array(6);
m(b,c,g,f,k,l);m.subimage=function(a,b,c,d,e){c|=0;d|=0;e|=0;var g=ga();K(g,n);g.width=0;g.height=0;S(g,b);g.width=g.width||(n.width>>e)-c;g.height=g.height||(n.height>>e)-d;da(n);ma(g,34069+a,c,d,e);ja();W(g);return m};m.resize=function(b){b|=0;if(b!==n.width){m.width=n.width=b;m.height=n.height=b;da(n);for(var c=0;6>c;++c)for(var d=0;n.mipmask>>d;++d)h.texImage2D(34069+c,d,n.format,b>>d,b>>d,0,n.format,n.type,null);ja();Z.profile&&(n.stats.size=a(n.internalformat,n.type,m.width,m.height,!1,!0));
return m}};m._reglType="textureCube";m._texture=n;Z.profile&&(m.stats=n.stats);m.destroy=function(){n.decRef()};return m},clear:function(){for(var a=0;a<ta;++a)h.activeTexture(33984+a),h.bindTexture(3553,null),oa[a]=null;F(ca).forEach(la);L.cubeCount=0;L.textureCount=0},getTexture:function(a){return null},restore:function(){F(ca).forEach(function(a){a.texture=h.createTexture();h.bindTexture(a.target,a.texture);for(var b=0;32>b;++b)if(0!==(a.mipmask&1<<b))if(3553===a.target)h.texImage2D(3553,b,a.internalformat,
a.width>>b,a.height>>b,0,a.internalformat,a.type,null);else for(var c=0;6>c;++c)h.texImage2D(34069+c,b,a.internalformat,a.width>>b,a.height>>b,0,a.internalformat,a.type,null);ra(a.texInfo,a.target)})}}}},{"./constants/arraytypes.json":3,"./util/extend":22,"./util/flatten":23,"./util/is-array-like":24,"./util/is-ndarray":25,"./util/is-typed-array":26,"./util/pool":28,"./util/to-half-float":30,"./util/values":31}],19:[function(f,p,u){p.exports=function(f,k){function p(){this.endQueryIndex=this.startQueryIndex=
-1;this.sum=0;this.stats=null}function r(a,b,c){var f=F.pop()||new p;f.startQueryIndex=a;f.endQueryIndex=b;f.sum=0;f.stats=c;u.push(f)}var c=k.ext_disjoint_timer_query;if(!c)return null;var a=[],b=[],F=[],u=[],t=[],y=[];return{beginQuery:function(g){var f=a.pop()||c.createQueryEXT();c.beginQueryEXT(35007,f);b.push(f);r(b.length-1,b.length,g)},endQuery:function(){c.endQueryEXT(35007)},pushScopeStats:r,update:function(){var g,f;g=b.length;if(0!==g){y.length=Math.max(y.length,g+1);t.length=Math.max(t.length,
g+1);t[0]=0;var k=y[0]=0;for(f=g=0;f<b.length;++f){var l=b[f];c.getQueryObjectEXT(l,34919)?(k+=c.getQueryObjectEXT(l,34918),a.push(l)):b[g++]=l;t[f+1]=k;y[f+1]=g}b.length=g;for(f=g=0;f<u.length;++f){var k=u[f],n=k.startQueryIndex,l=k.endQueryIndex;k.sum+=t[l]-t[n];n=y[n];l=y[l];l===n?(k.stats.gpuTime+=k.sum/1E6,F.push(k)):(k.startQueryIndex=n,k.endQueryIndex=l,u[g++]=k)}u.length=g}},getNumPendingQueries:function(){return b.length},clear:function(){a.push.apply(a,b);for(var g=0;g<a.length;g++)c.deleteQueryEXT(a[g]);
b.length=0;a.length=0},restore:function(){b.length=0;a.length=0}}}},{}],20:[function(f,p,u){p.exports="undefined"!==typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date}},{}],21:[function(f,p,u){function l(f){return Array.prototype.slice.call(f)}function k(f){return l(f).join("")}var x=f("./extend");p.exports=function(){function f(){var b=[],c=[];return x(function(){b.push.apply(b,l(arguments))},{def:function(){var f="v"+a++;c.push(f);0<arguments.length&&
(b.push(f,"="),b.push.apply(b,l(arguments)),b.push(";"));return f},toString:function(){return k([0<c.length?"var "+c+";":"",k(b)])}})}function c(){function a(f,k){c(f,k,"=",b.def(f,k),";")}var b=f(),c=f(),k=b.toString,t=c.toString;return x(function(){b.apply(b,l(arguments))},{def:b.def,entry:b,exit:c,save:a,set:function(c,f,k){a(c,f);b(c,f,"=",k,";")},toString:function(){return k()+t()}})}var a=0,b=[],p=[],u=f(),t={};return{global:u,link:function(c){for(var g=0;g<p.length;++g)if(p[g]===c)return b[g];
g="g"+a++;b.push(g);p.push(c);return g},block:f,proc:function(a,b){function f(){var a="a"+l.length;l.push(a);return a}var l=[];b=b||0;for(var r=0;r<b;++r)f();var r=c(),n=r.toString;return t[a]=x(r,{arg:f,toString:function(){return k(["function(",l.join(),"){",n(),"}"])}})},scope:c,cond:function(){var a=k(arguments),b=c(),f=c(),r=b.toString,t=f.toString;return x(b,{then:function(){b.apply(b,l(arguments));return this},"else":function(){f.apply(f,l(arguments));return this},toString:function(){var b=
t();b&&(b="else{"+b+"}");return k(["if(",a,"){",r(),"}",b])}})},compile:function(){var a=['"use strict";',u,"return {"];Object.keys(t).forEach(function(b){a.push('"',b,'":',t[b].toString(),",")});a.push("}");var c=k(a).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,b.concat(c)).apply(null,p)}}}},{"./extend":22}],22:[function(f,p,u){p.exports=function(f,k){for(var p=Object.keys(k),r=0;r<p.length;++r)f[p[r]]=k[p[r]];return f}},{}],23:[function(f,p,u){function l(f,
c,a,b,k,l){for(var t=0;t<c;++t)for(var p=f[t],g=0;g<a;++g)for(var x=p[g],u=0;u<b;++u)k[l++]=x[u]}function k(f,c,a,b,p){for(var x=1,t=a+1;t<c.length;++t)x*=c[t];var y=c[a];if(4===c.length-a){var g=c[a+1],u=c[a+2];c=c[a+3];for(t=0;t<y;++t)l(f[t],g,u,c,b,p),p+=x}else for(t=0;t<y;++t)k(f[t],c,a+1,b,p),p+=x}var x=f("./pool");p.exports={shape:function(f){for(var c=[];f.length;f=f[0])c.push(f.length);return c},flatten:function(f,c,a,b){var p=1;if(c.length)for(var u=0;u<c.length;++u)p*=c[u];else p=0;a=b||
x.allocType(a,p);switch(c.length){case 0:break;case 1:b=c[0];for(c=0;c<b;++c)a[c]=f[c];break;case 2:b=c[0];c=c[1];for(u=p=0;u<b;++u)for(var t=f[u],y=0;y<c;++y)a[p++]=t[y];break;case 3:l(f,c[0],c[1],c[2],a,0);break;default:k(f,c,0,a,0)}return a}}},{"./pool":28}],24:[function(f,p,u){var l=f("./is-typed-array");p.exports=function(f){return Array.isArray(f)||l(f)}},{"./is-typed-array":26}],25:[function(f,p,u){var l=f("./is-typed-array");p.exports=function(f){return!!f&&"object"===typeof f&&Array.isArray(f.shape)&&
Array.isArray(f.stride)&&"number"===typeof f.offset&&f.shape.length===f.stride.length&&(Array.isArray(f.data)||l(f.data))}},{"./is-typed-array":26}],26:[function(f,p,u){var l=f("../constants/arraytypes.json");p.exports=function(f){return Object.prototype.toString.call(f)in l}},{"../constants/arraytypes.json":3}],27:[function(f,p,u){p.exports=function(f,k){for(var p=Array(f),r=0;r<f;++r)p[r]=k(r);return p}},{}],28:[function(f,p,u){function l(c){var a,b;a=(65535<c)<<4;c>>>=a;b=(255<c)<<3;c>>>=b;a|=
b;b=(15<c)<<2;c>>>=b;a|=b;b=(3<c)<<1;return a|b|c>>>b>>1}function k(c){a:{for(var a=16;268435456>=a;a*=16)if(c<=a){c=a;break a}c=0}a=r[l(c)>>2];return 0<a.length?a.pop():new ArrayBuffer(c)}function x(c){r[l(c.byteLength)>>2].push(c)}var r=f("./loop")(8,function(){return[]});p.exports={alloc:k,free:x,allocType:function(c,a){var b=null;switch(c){case 5120:b=new Int8Array(k(a),0,a);break;case 5121:b=new Uint8Array(k(a),0,a);break;case 5122:b=new Int16Array(k(2*a),0,a);break;case 5123:b=new Uint16Array(k(2*
a),0,a);break;case 5124:b=new Int32Array(k(4*a),0,a);break;case 5125:b=new Uint32Array(k(4*a),0,a);break;case 5126:b=new Float32Array(k(4*a),0,a);break;default:return null}return b.length!==a?b.subarray(0,a):b},freeType:function(c){x(c.buffer)}}},{"./loop":27}],29:[function(f,p,u){p.exports="function"===typeof requestAnimationFrame&&"function"===typeof cancelAnimationFrame?{next:function(f){return requestAnimationFrame(f)},cancel:function(f){return cancelAnimationFrame(f)}}:{next:function(f){return setTimeout(f,
16)},cancel:clearTimeout}},{}],30:[function(f,p,u){var l=f("./pool"),k=new Float32Array(1),x=new Uint32Array(k.buffer);p.exports=function(f){for(var c=l.allocType(5123,f.length),a=0;a<f.length;++a)if(isNaN(f[a]))c[a]=65535;else if(Infinity===f[a])c[a]=31744;else if(-Infinity===f[a])c[a]=64512;else{k[0]=f[a];var b=x[0],p=b>>>31<<15,u=(b<<1>>>24)-127,b=b>>13&1023;c[a]=-24>u?p:-14>u?p+(b+1024>>-14-u):15<u?p+31744:p+(u+15<<10)+b}return c}},{"./pool":28}],31:[function(f,p,u){p.exports=function(f){return Object.keys(f).map(function(k){return f[k]})}},
{}],32:[function(f,p,u){function l(a,b,f){function k(){var b=window.innerWidth,g=window.innerHeight;a!==document.body&&(g=a.getBoundingClientRect(),b=g.right-g.left,g=g.top-g.bottom);l.width=f*b;l.height=f*g;c(l.style,{width:b+"px",height:g+"px"})}var l=document.createElement("canvas");c(l.style,{border:0,margin:0,padding:0,top:0,left:0});a.appendChild(l);a===document.body&&(l.style.position="absolute",c(a.style,{margin:0,padding:0}));window.addEventListener("resize",k,!1);k();return{canvas:l,onDestroy:function(){window.removeEventListener("resize",
k);a.removeChild(l)}}}function k(a,b){function c(f){try{return a.getContext(f,b)}catch(k){return null}}return c("webgl")||c("experimental-webgl")||c("webgl-experimental")}function x(a){return"string"===typeof a?a.split():a}function r(a){return"string"===typeof a?document.querySelector(a):a}var c=f("./util/extend");p.exports=function(a){var b=a||{},c,f,p,u;a={};var g=[],E=[],C="undefined"===typeof window?1:window.devicePixelRatio,N=!1,n=function(a){},m=function(){};"string"===typeof b?c=document.querySelector(b):
"object"===typeof b&&("string"===typeof b.nodeName&&"function"===typeof b.appendChild&&"function"===typeof b.getBoundingClientRect?c=b:"function"===typeof b.drawArrays||"function"===typeof b.drawElements?(u=b,p=u.canvas):("gl"in b?u=b.gl:"canvas"in b?p=r(b.canvas):"container"in b&&(f=r(b.container)),"attributes"in b&&(a=b.attributes),"extensions"in b&&(g=x(b.extensions)),"optionalExtensions"in b&&(E=x(b.optionalExtensions)),"onDone"in b&&(n=b.onDone),"profile"in b&&(N=!!b.profile),"pixelRatio"in b&&
(C=+b.pixelRatio)));c&&("canvas"===c.nodeName.toLowerCase()?p=c:f=c);if(!u){if(!p){c=l(f||document.body,n,C);if(!c)return null;p=c.canvas;m=c.onDestroy}u=k(p,a)}return u?{gl:u,canvas:p,container:f,extensions:g,optionalExtensions:E,pixelRatio:C,profile:N,onDone:n,onDestroy:m}:(m(),n("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}},{"./util/extend":22}],33:[function(f,p,u){function l(a,b){for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}var k=
f("./lib/util/extend"),x=f("./lib/dynamic"),r=f("./lib/util/raf"),c=f("./lib/util/clock"),a=f("./lib/strings"),b=f("./lib/webgl"),F=f("./lib/extension"),M=f("./lib/limits"),t=f("./lib/buffer"),y=f("./lib/elements"),g=f("./lib/texture"),E=f("./lib/renderbuffer"),C=f("./lib/framebuffer"),N=f("./lib/attribute"),n=f("./lib/shader"),m=f("./lib/read"),B=f("./lib/core"),Y=f("./lib/stats"),L=f("./lib/timer");p.exports=function(f){function h(){if(0===Q.length)G&&G.update(),T=null;else{T=r.next(h);K();for(var a=
Q.length-1;0<=a;--a){var b=Q[a];b&&b(U,null,0)}q.flush();G&&G.update()}}function p(){!T&&0<Q.length&&(T=r.next(h))}function u(){T&&(r.cancel(h),T=null)}function La(a){a.preventDefault();u();pa.forEach(function(a){a()})}function za(a){q.getError();ma.restore();sa.restore();ka.restore();da.restore();ja.restore();la.restore();G&&G.restore();ea.procs.refresh();p();V.forEach(function(a){a()})}function Ga(a){function b(a){var c={},f={};Object.keys(a).forEach(function(b){var g=a[b];x.isDynamic(g)?f[b]=x.unbox(g,
b):c[b]=g});return{dynamic:f,"static":c}}function c(a){for(;q.length<a;)q.push(null);return q}var f=b(a.context||{}),g=b(a.uniforms||{}),h=b(a.attributes||{}),l=b(function(a){function b(a){if(a in c){var f=c[a];delete c[a];Object.keys(f).forEach(function(b){c[a+"."+b]=f[b]})}}var c=k({},a);delete c.uniforms;delete c.attributes;delete c.context;"stencil"in c&&c.stencil.op&&(c.stencil.opBack=c.stencil.opFront=c.stencil.op,delete c.stencil.op);b("blend");b("depth");b("cull");b("stencil");b("polygonOffset");
b("scissor");b("sample");return c}(a));a={gpuTime:0,cpuTime:0,count:0};var f=ea.compile(l,h,g,f,a),m=f.draw,n=f.batch,p=f.scope,q=[];return k(function(a,b){var f;if("function"===typeof a)return p.call(this,null,a,0);if("function"===typeof b)if("number"===typeof a)for(f=0;f<a;++f)p.call(this,null,b,f);else if(Array.isArray(a))for(f=0;f<a.length;++f)p.call(this,a[f],b,f);else return p.call(this,a,b,0);else if("number"===typeof a){if(0<a)return n.call(this,c(a|0),a|0)}else if(Array.isArray(a)){if(a.length)return n.call(this,
a,a.length)}else return m.call(this,a)},{stats:a})}function Z(a){Q.push(a);p();return{cancel:function(){function b(){var a=l(Q,b);Q[a]=Q[Q.length-1];--Q.length;0>=Q.length&&u()}var c=l(Q,a);Q[c]=b}}}function D(){var a=O.viewport,b=O.scissor_box;a[0]=a[1]=b[0]=b[1]=0;U.viewportWidth=U.framebufferWidth=U.drawingBufferWidth=a[2]=b[2]=q.drawingBufferWidth;U.viewportHeight=U.framebufferHeight=U.drawingBufferHeight=a[3]=b[3]=q.drawingBufferHeight}function K(){U.tick+=1;U.time=va();D();ea.procs.poll()}function Aa(){D();
ea.procs.refresh();G&&G.update()}function va(){return(c()-ba)/1E3}f=b(f);if(!f)return null;var q=f.gl,S=q.getContextAttributes();q.isContextLost();var ma=F(q,f);if(!ma)return null;var ga=a(),W=Y(),R=ma.extensions,G=L(q,R),ba=c(),na=q.drawingBufferWidth,ya=q.drawingBufferHeight,U={tick:0,time:0,viewportWidth:na,viewportHeight:ya,framebufferWidth:na,framebufferHeight:ya,drawingBufferWidth:na,drawingBufferHeight:ya,pixelRatio:f.pixelRatio},ia=M(q,R),ka=t(q,W,f),ra=y(q,R,ka,W),na=N(q,R,ia,ka,ga),sa=n(q,
ga,W,f),da=g(q,R,ia,function(){ea.procs.poll()},U,W,f),ja=E(q,R,ia,W,f),la=C(q,R,ia,da,ja,W),ea=B(q,ga,R,ia,ka,ra,da,la,{},na,sa,{elements:null,primitive:4,count:-1,offset:0,instances:-1},U,G,f),ga=m(q,la,ea.procs.poll,U,S,R),O=ea.next,ha=q.canvas,Q=[],pa=[],V=[],X=[f.onDestroy],T=null;ha&&(ha.addEventListener("webglcontextlost",La,!1),ha.addEventListener("webglcontextrestored",za,!1));Aa();S=k(Ga,{clear:function(a){var b=0;ea.procs.poll();var c=a.color;c&&(q.clearColor(+c[0]||0,+c[1]||0,+c[2]||0,
+c[3]||0),b|=16384);"depth"in a&&(q.clearDepth(+a.depth),b|=256);"stencil"in a&&(q.clearStencil(a.stencil|0),b|=1024);q.clear(b)},prop:x.define.bind(null,1),context:x.define.bind(null,2),"this":x.define.bind(null,3),draw:Ga({}),buffer:function(a){return ka.create(a,34962,!1,!1)},elements:function(a){return ra.create(a,!1)},texture:da.create2D,cube:da.createCube,renderbuffer:ja.create,framebuffer:la.create,framebufferCube:la.createCube,attributes:S,frame:Z,on:function(a,b){var c;switch(a){case "frame":return Z(b);
case "lost":c=pa;break;case "restore":c=V;break;case "destroy":c=X}c.push(b);return{cancel:function(){for(var a=0;a<c.length;++a)if(c[a]===b){c[a]=c[c.length-1];c.pop();break}}}},limits:ia,hasExtension:function(a){return 0<=ia.extensions.indexOf(a.toLowerCase())},read:ga,destroy:function(){Q.length=0;u();ha&&(ha.removeEventListener("webglcontextlost",La),ha.removeEventListener("webglcontextrestored",za));sa.clear();la.clear();ja.clear();da.clear();ra.clear();ka.clear();G&&G.clear();X.forEach(function(a){a()})},
_gl:q,_refresh:Aa,poll:function(){K();G&&G.update()},now:va,stats:W});f.onDone(null,S);return S}},{"./lib/attribute":1,"./lib/buffer":2,"./lib/core":7,"./lib/dynamic":8,"./lib/elements":9,"./lib/extension":10,"./lib/framebuffer":11,"./lib/limits":12,"./lib/read":13,"./lib/renderbuffer":14,"./lib/shader":15,"./lib/stats":16,"./lib/strings":17,"./lib/texture":18,"./lib/timer":19,"./lib/util/clock":20,"./lib/util/extend":22,"./lib/util/raf":29,"./lib/webgl":32}]},{},[33])(33)});
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
//# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlZ2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbihPYSl7XCJvYmplY3RcIj09PXR5cGVvZiBleHBvcnRzJiZcInVuZGVmaW5lZFwiIT09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1PYSgpOlwiZnVuY3Rpb25cIj09PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLE9hKTooXCJ1bmRlZmluZWRcIiE9PXR5cGVvZiB3aW5kb3c/d2luZG93OlwidW5kZWZpbmVkXCIhPT10eXBlb2YgZ2xvYmFsP2dsb2JhbDpcInVuZGVmaW5lZFwiIT09dHlwZW9mIHNlbGY/c2VsZjp0aGlzKS5jcmVhdGVSRUdMPU9hKCl9KShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBmKHAsdSxsKXtmdW5jdGlvbiBrKGMsYSl7aWYoIXVbY10pe2lmKCFwW2NdKXt2YXIgYj1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFhJiZiKXJldHVybiBiKGMsITApO2lmKHgpcmV0dXJuIHgoYywhMCk7Yj1FcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrYytcIidcIik7dGhyb3cgYi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGI7fWI9XG51W2NdPXtleHBvcnRzOnt9fTtwW2NdWzBdLmNhbGwoYi5leHBvcnRzLGZ1bmN0aW9uKGEpe3ZhciBiPXBbY11bMV1bYV07cmV0dXJuIGsoYj9iOmEpfSxiLGIuZXhwb3J0cyxmLHAsdSxsKX1yZXR1cm4gdVtjXS5leHBvcnRzfWZvcih2YXIgeD1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLHI9MDtyPGwubGVuZ3RoO3IrKylrKGxbcl0pO3JldHVybiBrfSh7MTpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoKXt0aGlzLnc9dGhpcy56PXRoaXMueT10aGlzLng9dGhpcy5zdGF0ZT0wO3RoaXMuYnVmZmVyPW51bGw7dGhpcy5zaXplPTA7dGhpcy5ub3JtYWxpemVkPSExO3RoaXMudHlwZT01MTI2O3RoaXMuZGl2aXNvcj10aGlzLnN0cmlkZT10aGlzLm9mZnNldD0wfXAuZXhwb3J0cz1mdW5jdGlvbihrLHgscixjLGEpe2s9ci5tYXhBdHRyaWJ1dGVzO3g9QXJyYXkoayk7Zm9yKHI9MDtyPGs7KytyKXhbcl09bmV3IGw7cmV0dXJue1JlY29yZDpsLHNjb3BlOnt9LHN0YXRlOnh9fX0sXG57fV0sMjpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoYyl7cmV0dXJuIHRbT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGMpXXwwfWZ1bmN0aW9uIGsoYyxhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYiljW2JdPWFbYl19ZnVuY3Rpb24geChjLGEsYixrLGwscix4KXtmb3IodmFyIGc9MCxoPTA7aDxiOysraClmb3IodmFyIGY9MDtmPGs7KytmKWNbZysrXT1hW2wqaCtyKmYreF19dmFyIHI9ZihcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiKSxjPWYoXCIuL3V0aWwvaXMtbmRhcnJheVwiKSxhPWYoXCIuL3V0aWwvdmFsdWVzXCIpLGI9ZihcIi4vdXRpbC9wb29sXCIpO3U9ZihcIi4vdXRpbC9mbGF0dGVuXCIpO3ZhciBGPXUuZmxhdHRlbixNPXUuc2hhcGUsdD1mKFwiLi9jb25zdGFudHMvYXJyYXl0eXBlcy5qc29uXCIpLHk9ZihcIi4vY29uc3RhbnRzL2R0eXBlcy5qc29uXCIpLGc9ZihcIi4vY29uc3RhbnRzL3VzYWdlLmpzb25cIiksRT1bXTtFWzUxMjBdPTE7RVs1MTIyXT0yO0VbNTEyNF09XG40O0VbNTEyMV09MTtFWzUxMjNdPTI7RVs1MTI1XT00O0VbNTEyNl09NDtwLmV4cG9ydHM9ZnVuY3Rpb24oZix0LG4pe2Z1bmN0aW9uIG0oYyl7dGhpcy5pZD1IKys7dGhpcy5idWZmZXI9Zi5jcmVhdGVCdWZmZXIoKTt0aGlzLnR5cGU9Yzt0aGlzLnVzYWdlPTM1MDQ0O3RoaXMuYnl0ZUxlbmd0aD0wO3RoaXMuZGltZW5zaW9uPTE7dGhpcy5kdHlwZT01MTIxO3RoaXMucGVyc2lzdGVudERhdGE9bnVsbDtuLnByb2ZpbGUmJih0aGlzLnN0YXRzPXtzaXplOjB9KX1mdW5jdGlvbiBCKGMsYSxiKXtjLmJ5dGVMZW5ndGg9YS5ieXRlTGVuZ3RoO2YuYnVmZmVyRGF0YShjLnR5cGUsYSxiKX1mdW5jdGlvbiBwKGEsaCxtLGYsZyxuKXthLnVzYWdlPW07aWYoQXJyYXkuaXNBcnJheShoKSl7aWYoYS5kdHlwZT1mfHw1MTI2LDA8aC5sZW5ndGgpaWYoQXJyYXkuaXNBcnJheShoWzBdKSl7Zz1NKGgpO2Zvcih2YXIgSz1mPTE7SzxnLmxlbmd0aDsrK0spZio9Z1tLXTthLmRpbWVuc2lvbj1mO2g9RihoLFxuZyxhLmR0eXBlKTtCKGEsaCxtKTtuP2EucGVyc2lzdGVudERhdGE9aDpiLmZyZWVUeXBlKGgpfWVsc2VcIm51bWJlclwiPT09dHlwZW9mIGhbMF0/KGEuZGltZW5zaW9uPWcsZz1iLmFsbG9jVHlwZShhLmR0eXBlLGgubGVuZ3RoKSxrKGcsaCksQihhLGcsbSksbj9hLnBlcnNpc3RlbnREYXRhPWc6Yi5mcmVlVHlwZShnKSk6cihoWzBdKSYmKGEuZGltZW5zaW9uPWhbMF0ubGVuZ3RoLGEuZHR5cGU9Znx8bChoWzBdKXx8NTEyNixoPUYoaCxbaC5sZW5ndGgsaFswXS5sZW5ndGhdLGEuZHR5cGUpLEIoYSxoLG0pLG4/YS5wZXJzaXN0ZW50RGF0YT1oOmIuZnJlZVR5cGUoaCkpfWVsc2UgaWYocihoKSlhLmR0eXBlPWZ8fGwoaCksYS5kaW1lbnNpb249ZyxCKGEsaCxtKSxuJiYoYS5wZXJzaXN0ZW50RGF0YT1uZXcgVWludDhBcnJheShuZXcgVWludDhBcnJheShoLmJ1ZmZlcikpKTtlbHNlIGlmKGMoaCkpe2c9aC5zaGFwZTt2YXIgQz1oLnN0cmlkZSxLPWgub2Zmc2V0LHk9MCxxPTAsUz0wLHQ9XG4wOzE9PT1nLmxlbmd0aD8oeT1nWzBdLHE9MSxTPUNbMF0sdD0wKToyPT09Zy5sZW5ndGgmJih5PWdbMF0scT1nWzFdLFM9Q1swXSx0PUNbMV0pO2EuZHR5cGU9Znx8bChoLmRhdGEpfHw1MTI2O2EuZGltZW5zaW9uPXE7Zz1iLmFsbG9jVHlwZShhLmR0eXBlLHkqcSk7eChnLGguZGF0YSx5LHEsUyx0LEspO0IoYSxnLG0pO24/YS5wZXJzaXN0ZW50RGF0YT1nOmIuZnJlZVR5cGUoZyl9fWZ1bmN0aW9uIEwoYyl7dC5idWZmZXJDb3VudC0tO2YuZGVsZXRlQnVmZmVyKGMuYnVmZmVyKTtjLmJ1ZmZlcj1udWxsO2RlbGV0ZSBoW2MuaWRdfXZhciBIPTAsaD17fTttLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7Zi5iaW5kQnVmZmVyKHRoaXMudHlwZSx0aGlzLmJ1ZmZlcil9O20ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtMKHRoaXMpfTt2YXIgZmE9W107bi5wcm9maWxlJiYodC5nZXRUb3RhbEJ1ZmZlclNpemU9ZnVuY3Rpb24oKXt2YXIgYz0wO09iamVjdC5rZXlzKGgpLmZvckVhY2goZnVuY3Rpb24oYSl7Yys9XG5oW2FdLnN0YXRzLnNpemV9KTtyZXR1cm4gY30pO3JldHVybntjcmVhdGU6ZnVuY3Rpb24oYSxCLEgsZmEpe2Z1bmN0aW9uIHUoYSl7dmFyIGg9MzUwNDQsYj1udWxsLHE9MCxrPTAsbT0xO0FycmF5LmlzQXJyYXkoYSl8fHIoYSl8fGMoYSk/Yj1hOlwibnVtYmVyXCI9PT10eXBlb2YgYT9xPWF8MDphJiYoXCJkYXRhXCJpbiBhJiYoYj1hLmRhdGEpLFwidXNhZ2VcImluIGEmJihoPWdbYS51c2FnZV0pLFwidHlwZVwiaW4gYSYmKGs9eVthLnR5cGVdKSxcImRpbWVuc2lvblwiaW4gYSYmKG09YS5kaW1lbnNpb258MCksXCJsZW5ndGhcImluIGEmJihxPWEubGVuZ3RofDApKTtELmJpbmQoKTtiP3AoRCxiLGgsayxtLGZhKTooZi5idWZmZXJEYXRhKEQudHlwZSxxLGgpLEQuZHR5cGU9a3x8NTEyMSxELnVzYWdlPWgsRC5kaW1lbnNpb249bSxELmJ5dGVMZW5ndGg9cSk7bi5wcm9maWxlJiYoRC5zdGF0cy5zaXplPUQuYnl0ZUxlbmd0aCpFW0QuZHR5cGVdKTtyZXR1cm4gdX10LmJ1ZmZlckNvdW50Kys7dmFyIEQ9XG5uZXcgbShCKTtoW0QuaWRdPUQ7SHx8dShhKTt1Ll9yZWdsVHlwZT1cImJ1ZmZlclwiO3UuX2J1ZmZlcj1EO3Uuc3ViZGF0YT1mdW5jdGlvbihhLGgpe3ZhciBtPShofHwwKXwwLHE7RC5iaW5kKCk7aWYoQXJyYXkuaXNBcnJheShhKSl7aWYoMDxhLmxlbmd0aClpZihcIm51bWJlclwiPT09dHlwZW9mIGFbMF0pe3ZhciBnPWIuYWxsb2NUeXBlKEQuZHR5cGUsYS5sZW5ndGgpO2soZyxhKTtmLmJ1ZmZlclN1YkRhdGEoRC50eXBlLG0sZyk7Yi5mcmVlVHlwZShnKX1lbHNlIGlmKEFycmF5LmlzQXJyYXkoYVswXSl8fHIoYVswXSkpcT1NKGEpLGc9RihhLHEsRC5kdHlwZSksZi5idWZmZXJTdWJEYXRhKEQudHlwZSxtLGcpLGIuZnJlZVR5cGUoZyl9ZWxzZSBpZihyKGEpKWYuYnVmZmVyU3ViRGF0YShELnR5cGUsbSxhKTtlbHNlIGlmKGMoYSkpe3E9YS5zaGFwZTt2YXIgbj1hLnN0cmlkZSxCPWc9MCx5PTAsdD0wOzE9PT1xLmxlbmd0aD8oZz1xWzBdLEI9MSx5PW5bMF0sdD0wKToyPT09cS5sZW5ndGgmJlxuKGc9cVswXSxCPXFbMV0seT1uWzBdLHQ9blsxXSk7cT1BcnJheS5pc0FycmF5KGEuZGF0YSk/RC5kdHlwZTpsKGEuZGF0YSk7cT1iLmFsbG9jVHlwZShxLGcqQik7eChxLGEuZGF0YSxnLEIseSx0LGEub2Zmc2V0KTtmLmJ1ZmZlclN1YkRhdGEoRC50eXBlLG0scSk7Yi5mcmVlVHlwZShxKX1yZXR1cm4gdX07bi5wcm9maWxlJiYodS5zdGF0cz1ELnN0YXRzKTt1LmRlc3Ryb3k9ZnVuY3Rpb24oKXtMKEQpfTtyZXR1cm4gdX0sY3JlYXRlU3RyZWFtOmZ1bmN0aW9uKGEsYyl7dmFyIGg9ZmEucG9wKCk7aHx8KGg9bmV3IG0oYSkpO2guYmluZCgpO3AoaCxjLDM1MDQwLDAsMSwhMSk7cmV0dXJuIGh9LGRlc3Ryb3lTdHJlYW06ZnVuY3Rpb24oYSl7ZmEucHVzaChhKX0sY2xlYXI6ZnVuY3Rpb24oKXthKGgpLmZvckVhY2goTCk7ZmEuZm9yRWFjaChMKX0sZ2V0QnVmZmVyOmZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLl9idWZmZXIgaW5zdGFuY2VvZiBtP2EuX2J1ZmZlcjpudWxsfSxyZXN0b3JlOmZ1bmN0aW9uKCl7YShoKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EuYnVmZmVyPVxuZi5jcmVhdGVCdWZmZXIoKTtmLmJpbmRCdWZmZXIoYS50eXBlLGEuYnVmZmVyKTtmLmJ1ZmZlckRhdGEoYS50eXBlLGEucGVyc2lzdGVudERhdGF8fGEuYnl0ZUxlbmd0aCxhLnVzYWdlKX0pfSxfaW5pdEJ1ZmZlcjpwfX19LHtcIi4vY29uc3RhbnRzL2FycmF5dHlwZXMuanNvblwiOjMsXCIuL2NvbnN0YW50cy9kdHlwZXMuanNvblwiOjQsXCIuL2NvbnN0YW50cy91c2FnZS5qc29uXCI6NixcIi4vdXRpbC9mbGF0dGVuXCI6MjMsXCIuL3V0aWwvaXMtbmRhcnJheVwiOjI1LFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCI6MjYsXCIuL3V0aWwvcG9vbFwiOjI4LFwiLi91dGlsL3ZhbHVlc1wiOjMxfV0sMzpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz17XCJbb2JqZWN0IEludDhBcnJheV1cIjo1MTIwLFwiW29iamVjdCBJbnQxNkFycmF5XVwiOjUxMjIsXCJbb2JqZWN0IEludDMyQXJyYXldXCI6NTEyNCxcIltvYmplY3QgVWludDhBcnJheV1cIjo1MTIxLFwiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV1cIjo1MTIxLFwiW29iamVjdCBVaW50MTZBcnJheV1cIjo1MTIzLFxuXCJbb2JqZWN0IFVpbnQzMkFycmF5XVwiOjUxMjUsXCJbb2JqZWN0IEZsb2F0MzJBcnJheV1cIjo1MTI2LFwiW29iamVjdCBGbG9hdDY0QXJyYXldXCI6NTEyMSxcIltvYmplY3QgQXJyYXlCdWZmZXJdXCI6NTEyMX19LHt9XSw0OltmdW5jdGlvbihmLHAsdSl7cC5leHBvcnRzPXtpbnQ4OjUxMjAsaW50MTY6NTEyMixpbnQzMjo1MTI0LHVpbnQ4OjUxMjEsdWludDE2OjUxMjMsdWludDMyOjUxMjUsXCJmbG9hdFwiOjUxMjYsZmxvYXQzMjo1MTI2fX0se31dLDU6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9e3BvaW50czowLHBvaW50OjAsbGluZXM6MSxsaW5lOjEsXCJsaW5lIGxvb3BcIjoyLFwibGluZSBzdHJpcFwiOjMsdHJpYW5nbGVzOjQsdHJpYW5nbGU6NCxcInRyaWFuZ2xlIHN0cmlwXCI6NSxcInRyaWFuZ2xlIGZhblwiOjZ9fSx7fV0sNjpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz17XCJzdGF0aWNcIjozNTA0NCxkeW5hbWljOjM1MDQ4LHN0cmVhbTozNTA0MH19LHt9XSw3OltmdW5jdGlvbihmLHAsdSl7ZnVuY3Rpb24gbChhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKXx8XG5NKGEpfHx0KGEpfWZ1bmN0aW9uIGsoYSl7cmV0dXJuIGEuc29ydChmdW5jdGlvbihhLGMpe3JldHVyblwidmlld3BvcnRcIj09PWE/LTE6XCJ2aWV3cG9ydFwiPT09Yz8xOmE8Yz8tMToxfSl9ZnVuY3Rpb24geChhLGMsYixrKXt0aGlzLnRoaXNEZXA9YTt0aGlzLmNvbnRleHREZXA9Yzt0aGlzLnByb3BEZXA9Yjt0aGlzLmFwcGVuZD1rfWZ1bmN0aW9uIHIoYSl7cmV0dXJuIGEmJiEoYS50aGlzRGVwfHxhLmNvbnRleHREZXB8fGEucHJvcERlcCl9ZnVuY3Rpb24gYyhhKXtyZXR1cm4gbmV3IHgoITEsITEsITEsYSl9ZnVuY3Rpb24gYShhLGMpe3ZhciBiPWEudHlwZTtyZXR1cm4gMD09PWI/KGI9YS5kYXRhLmxlbmd0aCxuZXcgeCghMCwxPD1iLDI8PWIsYykpOjQ9PT1iPyhiPWEuZGF0YSxuZXcgeChiLnRoaXNEZXAsYi5jb250ZXh0RGVwLGIucHJvcERlcCxjKSk6bmV3IHgoMz09PWIsMj09PWIsMT09PWIsYyl9dmFyIGI9ZihcIi4vdXRpbC9jb2RlZ2VuXCIpLEY9ZihcIi4vdXRpbC9sb29wXCIpLFxuTT1mKFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCIpLHQ9ZihcIi4vdXRpbC9pcy1uZGFycmF5XCIpLHk9ZihcIi4vdXRpbC9pcy1hcnJheS1saWtlXCIpLGc9ZihcIi4vZHluYW1pY1wiKSxFPWYoXCIuL2NvbnN0YW50cy9wcmltaXRpdmVzLmpzb25cIiksQz1mKFwiLi9jb25zdGFudHMvZHR5cGVzLmpzb25cIiksTj1bXCJ4XCIsXCJ5XCIsXCJ6XCIsXCJ3XCJdLG49XCJibGVuZC5mdW5jIGJsZW5kLmVxdWF0aW9uIHN0ZW5jaWwuZnVuYyBzdGVuY2lsLm9wRnJvbnQgc3RlbmNpbC5vcEJhY2sgc2FtcGxlLmNvdmVyYWdlIHZpZXdwb3J0IHNjaXNzb3IuYm94IHBvbHlnb25PZmZzZXQub2Zmc2V0XCIuc3BsaXQoXCIgXCIpLG09ezA6MCwxOjEsemVybzowLG9uZToxLFwic3JjIGNvbG9yXCI6NzY4LFwib25lIG1pbnVzIHNyYyBjb2xvclwiOjc2OSxcInNyYyBhbHBoYVwiOjc3MCxcIm9uZSBtaW51cyBzcmMgYWxwaGFcIjo3NzEsXCJkc3QgY29sb3JcIjo3NzQsXCJvbmUgbWludXMgZHN0IGNvbG9yXCI6Nzc1LFwiZHN0IGFscGhhXCI6NzcyLFwib25lIG1pbnVzIGRzdCBhbHBoYVwiOjc3MyxcblwiY29uc3RhbnQgY29sb3JcIjozMjc2OSxcIm9uZSBtaW51cyBjb25zdGFudCBjb2xvclwiOjMyNzcwLFwiY29uc3RhbnQgYWxwaGFcIjozMjc3MSxcIm9uZSBtaW51cyBjb25zdGFudCBhbHBoYVwiOjMyNzcyLFwic3JjIGFscGhhIHNhdHVyYXRlXCI6Nzc2fSxCPXtuZXZlcjo1MTIsbGVzczo1MTMsXCI8XCI6NTEzLGVxdWFsOjUxNCxcIj1cIjo1MTQsXCI9PVwiOjUxNCxcIj09PVwiOjUxNCxsZXF1YWw6NTE1LFwiPD1cIjo1MTUsZ3JlYXRlcjo1MTYsXCI+XCI6NTE2LG5vdGVxdWFsOjUxNyxcIiE9XCI6NTE3LFwiIT09XCI6NTE3LGdlcXVhbDo1MTgsXCI+PVwiOjUxOCxhbHdheXM6NTE5fSxZPXswOjAsemVybzowLGtlZXA6NzY4MCxyZXBsYWNlOjc2ODEsaW5jcmVtZW50Ojc2ODIsZGVjcmVtZW50Ojc2ODMsXCJpbmNyZW1lbnQgd3JhcFwiOjM0MDU1LFwiZGVjcmVtZW50IHdyYXBcIjozNDA1NixpbnZlcnQ6NTM4Nn0sTD17Y3c6MjMwNCxjY3c6MjMwNX0sSD1uZXcgeCghMSwhMSwhMSxmdW5jdGlvbigpe30pO3AuZXhwb3J0cz1mdW5jdGlvbihoLFxuZix0LHAsTSx1LFosRCxLLEFhLHZhLHEsUyxtYSxnYSl7ZnVuY3Rpb24gVyhkKXtyZXR1cm4gZC5yZXBsYWNlKFwiLlwiLFwiX1wiKX1mdW5jdGlvbiBSKGQsYSxjKXt2YXIgYj1XKGQpO3cucHVzaChkKTt6W2JdPWVbYl09ISFjO3dhW2JdPWF9ZnVuY3Rpb24gRyhkLGEsYyl7dmFyIGI9VyhkKTt3LnB1c2goZCk7QXJyYXkuaXNBcnJheShjKT8oZVtiXT1jLnNsaWNlKCkseltiXT1jLnNsaWNlKCkpOmVbYl09eltiXT1jO3hhW2JdPWF9ZnVuY3Rpb24gYmEoKXt2YXIgZD1iKCksYT1kLmxpbmssYz1kLmdsb2JhbDtkLmlkPVJhKys7ZC5iYXRjaElkPVwiMFwiO3ZhciBoPWEoUWEpLEE9ZC5zaGFyZWQ9e3Byb3BzOlwiYTBcIn07T2JqZWN0LmtleXMoUWEpLmZvckVhY2goZnVuY3Rpb24oZCl7QVtkXT1jLmRlZihoLFwiLlwiLGQpfSk7dmFyIEo9ZC5uZXh0PXt9LFA9ZC5jdXJyZW50PXt9O09iamVjdC5rZXlzKHhhKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe0FycmF5LmlzQXJyYXkoZVtkXSkmJihKW2RdPWMuZGVmKEEubmV4dCxcblwiLlwiLGQpLFBbZF09Yy5kZWYoQS5jdXJyZW50LFwiLlwiLGQpKX0pO3ZhciBTYT1kLmNvbnN0YW50cz17fTtPYmplY3Qua2V5cyhNYSkuZm9yRWFjaChmdW5jdGlvbihkKXtTYVtkXT1jLmRlZihKU09OLnN0cmluZ2lmeShNYVtkXSkpfSk7ZC5pbnZva2U9ZnVuY3Rpb24oZSxJKXtzd2l0Y2goSS50eXBlKXtjYXNlIDA6dmFyIGM9W1widGhpc1wiLEEuY29udGV4dCxBLnByb3BzLGQuYmF0Y2hJZF07cmV0dXJuIGUuZGVmKGEoSS5kYXRhKSxcIi5jYWxsKFwiLGMuc2xpY2UoMCxNYXRoLm1heChJLmRhdGEubGVuZ3RoKzEsNCkpLFwiKVwiKTtjYXNlIDE6cmV0dXJuIGUuZGVmKEEucHJvcHMsSS5kYXRhKTtjYXNlIDI6cmV0dXJuIGUuZGVmKEEuY29udGV4dCxJLmRhdGEpO2Nhc2UgMzpyZXR1cm4gZS5kZWYoXCJ0aGlzXCIsSS5kYXRhKTtjYXNlIDQ6cmV0dXJuIEkuZGF0YS5hcHBlbmQoZCxlKSxJLmRhdGEucmVmfX07ZC5hdHRyaWJDYWNoZT17fTt2YXIgST17fTtkLnNjb3BlQXR0cmliPWZ1bmN0aW9uKGQpe2Q9XG5mLmlkKGQpO2lmKGQgaW4gSSlyZXR1cm4gSVtkXTt2YXIgZT1BYS5zY29wZVtkXTtlfHwoZT1BYS5zY29wZVtkXT1uZXcgQmEpO3JldHVybiBJW2RdPWEoZSl9O3JldHVybiBkfWZ1bmN0aW9uIG5hKGQpe3ZhciBlPWRbXCJzdGF0aWNcIl07ZD1kLmR5bmFtaWM7dmFyIGI7aWYoXCJwcm9maWxlXCJpbiBlKXt2YXIgaD0hIWUucHJvZmlsZTtiPWMoZnVuY3Rpb24oZCxlKXtyZXR1cm4gaH0pO2IuZW5hYmxlPWh9ZWxzZSBpZihcInByb2ZpbGVcImluIGQpe3ZhciBBPWQucHJvZmlsZTtiPWEoQSxmdW5jdGlvbihkLGUpe3JldHVybiBkLmludm9rZShlLEEpfSl9cmV0dXJuIGJ9ZnVuY3Rpb24geWEoZCxlKXt2YXIgYj1kW1wic3RhdGljXCJdLGg9ZC5keW5hbWljO2lmKFwiZnJhbWVidWZmZXJcImluIGIpe3ZhciBBPWIuZnJhbWVidWZmZXI7cmV0dXJuIEE/KEE9RC5nZXRGcmFtZWJ1ZmZlcihBKSxjKGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5saW5rKEEpLHY9ZC5zaGFyZWQ7ZS5zZXQodi5mcmFtZWJ1ZmZlcixcblwiLm5leHRcIixhKTt2PXYuY29udGV4dDtlLnNldCh2LFwiLmZyYW1lYnVmZmVyV2lkdGhcIixhK1wiLndpZHRoXCIpO2Uuc2V0KHYsXCIuZnJhbWVidWZmZXJIZWlnaHRcIixhK1wiLmhlaWdodFwiKTtyZXR1cm4gYX0pKTpjKGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5zaGFyZWQ7ZS5zZXQoYS5mcmFtZWJ1ZmZlcixcIi5uZXh0XCIsXCJudWxsXCIpO2E9YS5jb250ZXh0O2Uuc2V0KGEsXCIuZnJhbWVidWZmZXJXaWR0aFwiLGErXCIuZHJhd2luZ0J1ZmZlcldpZHRoXCIpO2Uuc2V0KGEsXCIuZnJhbWVidWZmZXJIZWlnaHRcIixhK1wiLmRyYXdpbmdCdWZmZXJIZWlnaHRcIik7cmV0dXJuXCJudWxsXCJ9KX1pZihcImZyYW1lYnVmZmVyXCJpbiBoKXt2YXIgSj1oLmZyYW1lYnVmZmVyO3JldHVybiBhKEosZnVuY3Rpb24oZCxlKXt2YXIgYT1kLmludm9rZShlLEopLHY9ZC5zaGFyZWQsYz12LmZyYW1lYnVmZmVyLGE9ZS5kZWYoYyxcIi5nZXRGcmFtZWJ1ZmZlcihcIixhLFwiKVwiKTtlLnNldChjLFwiLm5leHRcIixhKTt2PXYuY29udGV4dDtlLnNldCh2LFxuXCIuZnJhbWVidWZmZXJXaWR0aFwiLGErXCI/XCIrYStcIi53aWR0aDpcIit2K1wiLmRyYXdpbmdCdWZmZXJXaWR0aFwiKTtlLnNldCh2LFwiLmZyYW1lYnVmZmVySGVpZ2h0XCIsYStcIj9cIithK1wiLmhlaWdodDpcIit2K1wiLmRyYXdpbmdCdWZmZXJIZWlnaHRcIik7cmV0dXJuIGF9KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBVKGQsZSxjKXtmdW5jdGlvbiBiKGQpe2lmKGQgaW4gaCl7dmFyIEk9aFtkXTtkPSEwO3ZhciBjPUkueHwwLHFhPUkueXwwLFAsYWE7XCJ3aWR0aFwiaW4gST9QPUkud2lkdGh8MDpkPSExO1wiaGVpZ2h0XCJpbiBJP2FhPUkuaGVpZ2h0fDA6ZD0hMTtyZXR1cm4gbmV3IHgoIWQmJmUmJmUudGhpc0RlcCwhZCYmZSYmZS5jb250ZXh0RGVwLCFkJiZlJiZlLnByb3BEZXAsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLnNoYXJlZC5jb250ZXh0LHY9UDtcIndpZHRoXCJpbiBJfHwodj1lLmRlZihhLFwiLlwiLFwiZnJhbWVidWZmZXJXaWR0aFwiLFwiLVwiLGMpKTt2YXIgYj1hYTtcImhlaWdodFwiaW4gSXx8KGI9ZS5kZWYoYSxcblwiLlwiLFwiZnJhbWVidWZmZXJIZWlnaHRcIixcIi1cIixxYSkpO3JldHVybltjLHFhLHYsYl19KX1pZihkIGluIEope3ZhciB3PUpbZF07ZD1hKHcsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLmludm9rZShlLHcpLEk9ZC5zaGFyZWQuY29udGV4dCxjPWUuZGVmKGEsXCIueHwwXCIpLHY9ZS5kZWYoYSxcIi55fDBcIikscWE9ZS5kZWYoJ1wid2lkdGhcIiBpbiAnLGEsXCI/XCIsYSxcIi53aWR0aHwwOlwiLFwiKFwiLEksXCIuXCIsXCJmcmFtZWJ1ZmZlcldpZHRoXCIsXCItXCIsYyxcIilcIiksYT1lLmRlZignXCJoZWlnaHRcIiBpbiAnLGEsXCI/XCIsYSxcIi5oZWlnaHR8MDpcIixcIihcIixJLFwiLlwiLFwiZnJhbWVidWZmZXJIZWlnaHRcIixcIi1cIix2LFwiKVwiKTtyZXR1cm5bYyx2LHFhLGFdfSk7ZSYmKGQudGhpc0RlcD1kLnRoaXNEZXB8fGUudGhpc0RlcCxkLmNvbnRleHREZXA9ZC5jb250ZXh0RGVwfHxlLmNvbnRleHREZXAsZC5wcm9wRGVwPWQucHJvcERlcHx8ZS5wcm9wRGVwKTtyZXR1cm4gZH1yZXR1cm4gZT9uZXcgeChlLnRoaXNEZXAsZS5jb250ZXh0RGVwLFxuZS5wcm9wRGVwLGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5zaGFyZWQuY29udGV4dDtyZXR1cm5bMCwwLGUuZGVmKGEsXCIuXCIsXCJmcmFtZWJ1ZmZlcldpZHRoXCIpLGUuZGVmKGEsXCIuXCIsXCJmcmFtZWJ1ZmZlckhlaWdodFwiKV19KTpudWxsfXZhciBoPWRbXCJzdGF0aWNcIl0sSj1kLmR5bmFtaWM7aWYoZD1iKFwidmlld3BvcnRcIikpe3ZhciBQPWQ7ZD1uZXcgeChkLnRoaXNEZXAsZC5jb250ZXh0RGVwLGQucHJvcERlcCxmdW5jdGlvbihkLGUpe3ZhciBhPVAuYXBwZW5kKGQsZSksYz1kLnNoYXJlZC5jb250ZXh0O2Uuc2V0KGMsXCIudmlld3BvcnRXaWR0aFwiLGFbMl0pO2Uuc2V0KGMsXCIudmlld3BvcnRIZWlnaHRcIixhWzNdKTtyZXR1cm4gYX0pfXJldHVybnt2aWV3cG9ydDpkLHNjaXNzb3JfYm94OmIoXCJzY2lzc29yLmJveFwiKX19ZnVuY3Rpb24gaWEoZCl7ZnVuY3Rpb24gZShkKXtpZihkIGluIGIpe3ZhciBJPWYuaWQoYltkXSk7ZD1jKGZ1bmN0aW9uKCl7cmV0dXJuIEl9KTtkLmlkPUk7cmV0dXJuIGR9aWYoZCBpblxuaCl7dmFyIHY9aFtkXTtyZXR1cm4gYSh2LGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5pbnZva2UoZSx2KTtyZXR1cm4gZS5kZWYoZC5zaGFyZWQuc3RyaW5ncyxcIi5pZChcIixhLFwiKVwiKX0pfXJldHVybiBudWxsfXZhciBiPWRbXCJzdGF0aWNcIl0saD1kLmR5bmFtaWMsQT1lKFwiZnJhZ1wiKSxKPWUoXCJ2ZXJ0XCIpLFA9bnVsbDtyKEEpJiZyKEopPyhQPXZhLnByb2dyYW0oSi5pZCxBLmlkKSxkPWMoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC5saW5rKFApfSkpOmQ9bmV3IHgoQSYmQS50aGlzRGVwfHxKJiZKLnRoaXNEZXAsQSYmQS5jb250ZXh0RGVwfHxKJiZKLmNvbnRleHREZXAsQSYmQS5wcm9wRGVwfHxKJiZKLnByb3BEZXAsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLnNoYXJlZC5zaGFkZXIsYztjPUE/QS5hcHBlbmQoZCxlKTplLmRlZihhLFwiLlwiLFwiZnJhZ1wiKTt2YXIgdjt2PUo/Si5hcHBlbmQoZCxlKTplLmRlZihhLFwiLlwiLFwidmVydFwiKTtyZXR1cm4gZS5kZWYoYStcIi5wcm9ncmFtKFwiK3YrXCIsXCIrYytcblwiKVwiKX0pO3JldHVybntmcmFnOkEsdmVydDpKLHByb2dWYXI6ZCxwcm9ncmFtOlB9fWZ1bmN0aW9uIGthKGQsZSl7ZnVuY3Rpb24gYihkLGUpe2lmKGQgaW4gaCl7dmFyIHY9aFtkXXwwO3JldHVybiBjKGZ1bmN0aW9uKGQsYSl7ZSYmKGQuT0ZGU0VUPXYpO3JldHVybiB2fSl9aWYoZCBpbiBBKXt2YXIgcWE9QVtkXTtyZXR1cm4gYShxYSxmdW5jdGlvbihkLGEpe3ZhciBjPWQuaW52b2tlKGEscWEpO2UmJihkLk9GRlNFVD1jKTtyZXR1cm4gY30pfXJldHVybiBlJiZKP2MoZnVuY3Rpb24oZCxlKXtkLk9GRlNFVD1cIjBcIjtyZXR1cm4gMH0pOm51bGx9dmFyIGg9ZFtcInN0YXRpY1wiXSxBPWQuZHluYW1pYyxKPWZ1bmN0aW9uKCl7aWYoXCJlbGVtZW50c1wiaW4gaCl7dmFyIGQ9aC5lbGVtZW50cztsKGQpP2Q9dS5nZXRFbGVtZW50cyh1LmNyZWF0ZShkLCEwKSk6ZCYmKGQ9dS5nZXRFbGVtZW50cyhkKSk7dmFyIGU9YyhmdW5jdGlvbihlLGEpe2lmKGQpe3ZhciBjPWUubGluayhkKTtyZXR1cm4gZS5FTEVNRU5UUz1cbmN9cmV0dXJuIGUuRUxFTUVOVFM9bnVsbH0pO2UudmFsdWU9ZDtyZXR1cm4gZX1pZihcImVsZW1lbnRzXCJpbiBBKXt2YXIgdj1BLmVsZW1lbnRzO3JldHVybiBhKHYsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLnNoYXJlZCxjPWEuaXNCdWZmZXJBcmdzLGE9YS5lbGVtZW50cyxJPWQuaW52b2tlKGUsdiksYj1lLmRlZihcIm51bGxcIiksYz1lLmRlZihjLFwiKFwiLEksXCIpXCIpLEk9ZC5jb25kKGMpLnRoZW4oYixcIj1cIixhLFwiLmNyZWF0ZVN0cmVhbShcIixJLFwiKTtcIilbXCJlbHNlXCJdKGIsXCI9XCIsYSxcIi5nZXRFbGVtZW50cyhcIixJLFwiKTtcIik7ZS5lbnRyeShJKTtlLmV4aXQoZC5jb25kKGMpLnRoZW4oYSxcIi5kZXN0cm95U3RyZWFtKFwiLGIsXCIpO1wiKSk7cmV0dXJuIGQuRUxFTUVOVFM9Yn0pfXJldHVybiBudWxsfSgpLFA9YihcIm9mZnNldFwiLCEwKTtyZXR1cm57ZWxlbWVudHM6SixwcmltaXRpdmU6ZnVuY3Rpb24oKXtpZihcInByaW1pdGl2ZVwiaW4gaCl7dmFyIGQ9aC5wcmltaXRpdmU7cmV0dXJuIGMoZnVuY3Rpb24oZSxcbmEpe3JldHVybiBFW2RdfSl9aWYoXCJwcmltaXRpdmVcImluIEEpe3ZhciBlPUEucHJpbWl0aXZlO3JldHVybiBhKGUsZnVuY3Rpb24oZCxhKXt2YXIgYz1kLmNvbnN0YW50cy5wcmltVHlwZXMsdj1kLmludm9rZShhLGUpO3JldHVybiBhLmRlZihjLFwiW1wiLHYsXCJdXCIpfSl9cmV0dXJuIEo/cihKKT9KLnZhbHVlP2MoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZS5kZWYoZC5FTEVNRU5UUyxcIi5wcmltVHlwZVwiKX0pOmMoZnVuY3Rpb24oKXtyZXR1cm4gNH0pOm5ldyB4KEoudGhpc0RlcCxKLmNvbnRleHREZXAsSi5wcm9wRGVwLGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5FTEVNRU5UUztyZXR1cm4gZS5kZWYoYSxcIj9cIixhLFwiLnByaW1UeXBlOlwiLDQpfSk6bnVsbH0oKSxjb3VudDpmdW5jdGlvbigpe2lmKFwiY291bnRcImluIGgpe3ZhciBkPWguY291bnR8MDtyZXR1cm4gYyhmdW5jdGlvbigpe3JldHVybiBkfSl9aWYoXCJjb3VudFwiaW4gQSl7dmFyIGU9QS5jb3VudDtyZXR1cm4gYShlLGZ1bmN0aW9uKGQsXG5hKXtyZXR1cm4gZC5pbnZva2UoYSxlKX0pfXJldHVybiBKP3IoSik/Sj9QP25ldyB4KFAudGhpc0RlcCxQLmNvbnRleHREZXAsUC5wcm9wRGVwLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGUuZGVmKGQuRUxFTUVOVFMsXCIudmVydENvdW50LVwiLGQuT0ZGU0VUKX0pOmMoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZS5kZWYoZC5FTEVNRU5UUyxcIi52ZXJ0Q291bnRcIil9KTpjKGZ1bmN0aW9uKCl7cmV0dXJuLTF9KTpuZXcgeChKLnRoaXNEZXB8fFAudGhpc0RlcCxKLmNvbnRleHREZXB8fFAuY29udGV4dERlcCxKLnByb3BEZXB8fFAucHJvcERlcCxmdW5jdGlvbihkLGUpe3ZhciBhPWQuRUxFTUVOVFM7cmV0dXJuIGQuT0ZGU0VUP2UuZGVmKGEsXCI/XCIsYSxcIi52ZXJ0Q291bnQtXCIsZC5PRkZTRVQsXCI6LTFcIik6ZS5kZWYoYSxcIj9cIixhLFwiLnZlcnRDb3VudDotMVwiKX0pOm51bGx9KCksaW5zdGFuY2VzOmIoXCJpbnN0YW5jZXNcIiwhMSksb2Zmc2V0OlB9fWZ1bmN0aW9uIHJhKGQsZSl7dmFyIGI9ZFtcInN0YXRpY1wiXSxcbmg9ZC5keW5hbWljLEE9e307dy5mb3JFYWNoKGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGUoSSx3KXtpZihkIGluIGIpe3ZhciBxYT1JKGJbZF0pO0Fbdl09YyhmdW5jdGlvbigpe3JldHVybiBxYX0pfWVsc2UgaWYoZCBpbiBoKXt2YXIgUD1oW2RdO0Fbdl09YShQLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIHcoZCxlLGQuaW52b2tlKGUsUCkpfSl9fXZhciB2PVcoZCk7c3dpdGNoKGQpe2Nhc2UgXCJjdWxsLmVuYWJsZVwiOmNhc2UgXCJibGVuZC5lbmFibGVcIjpjYXNlIFwiZGl0aGVyXCI6Y2FzZSBcInN0ZW5jaWwuZW5hYmxlXCI6Y2FzZSBcImRlcHRoLmVuYWJsZVwiOmNhc2UgXCJzY2lzc29yLmVuYWJsZVwiOmNhc2UgXCJwb2x5Z29uT2Zmc2V0LmVuYWJsZVwiOmNhc2UgXCJzYW1wbGUuYWxwaGFcIjpjYXNlIFwic2FtcGxlLmVuYWJsZVwiOmNhc2UgXCJkZXB0aC5tYXNrXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIGR9LGZ1bmN0aW9uKGQsZSxhKXtyZXR1cm4gYX0pO2Nhc2UgXCJkZXB0aC5mdW5jXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIEJbZF19LFxuZnVuY3Rpb24oZCxlLGEpe3JldHVybiBlLmRlZihkLmNvbnN0YW50cy5jb21wYXJlRnVuY3MsXCJbXCIsYSxcIl1cIil9KTtjYXNlIFwiZGVwdGgucmFuZ2VcIjpyZXR1cm4gZShmdW5jdGlvbihkKXtyZXR1cm4gZH0sZnVuY3Rpb24oZCxlLGEpe2Q9ZS5kZWYoXCIrXCIsYSxcIlswXVwiKTtlPWUuZGVmKFwiK1wiLGEsXCJbMV1cIik7cmV0dXJuW2QsZV19KTtjYXNlIFwiYmxlbmQuZnVuY1wiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVyblttW1wic3JjUkdCXCJpbiBkP2Quc3JjUkdCOmQuc3JjXSxtW1wiZHN0UkdCXCJpbiBkP2QuZHN0UkdCOmQuZHN0XSxtW1wic3JjQWxwaGFcImluIGQ/ZC5zcmNBbHBoYTpkLnNyY10sbVtcImRzdEFscGhhXCJpbiBkP2QuZHN0QWxwaGE6ZC5kc3RdXX0sZnVuY3Rpb24oZCxlLGEpe2Z1bmN0aW9uIGMoZCx2KXtyZXR1cm4gZS5kZWYoJ1wiJyxkLHYsJ1wiIGluICcsYSxcIj9cIixhLFwiLlwiLGQsdixcIjpcIixhLFwiLlwiLGQpfWQ9ZC5jb25zdGFudHMuYmxlbmRGdW5jczt2YXIgdj1jKFwic3JjXCIsXCJSR0JcIiksXG5iPWMoXCJkc3RcIixcIlJHQlwiKSx2PWUuZGVmKGQsXCJbXCIsdixcIl1cIiksaD1lLmRlZihkLFwiW1wiLGMoXCJzcmNcIixcIkFscGhhXCIpLFwiXVwiKSxiPWUuZGVmKGQsXCJbXCIsYixcIl1cIik7ZD1lLmRlZihkLFwiW1wiLGMoXCJkc3RcIixcIkFscGhhXCIpLFwiXVwiKTtyZXR1cm5bdixiLGgsZF19KTtjYXNlIFwiYmxlbmQuZXF1YXRpb25cIjpyZXR1cm4gZShmdW5jdGlvbihkKXtpZihcInN0cmluZ1wiPT09dHlwZW9mIGQpcmV0dXJuW2NhW2RdLGNhW2RdXTtpZihcIm9iamVjdFwiPT09dHlwZW9mIGQpcmV0dXJuW2NhW2QucmdiXSxjYVtkLmFscGhhXV19LGZ1bmN0aW9uKGQsZSxhKXt2YXIgYz1kLmNvbnN0YW50cy5ibGVuZEVxdWF0aW9ucyx2PWUuZGVmKCksYj1lLmRlZigpO2Q9ZC5jb25kKFwidHlwZW9mIFwiLGEsJz09PVwic3RyaW5nXCInKTtkLnRoZW4odixcIj1cIixiLFwiPVwiLGMsXCJbXCIsYSxcIl07XCIpO2RbXCJlbHNlXCJdKHYsXCI9XCIsYyxcIltcIixhLFwiLnJnYl07XCIsYixcIj1cIixjLFwiW1wiLGEsXCIuYWxwaGFdO1wiKTtlKGQpO3JldHVyblt2LGJdfSk7XG5jYXNlIFwiYmxlbmQuY29sb3JcIjpyZXR1cm4gZShmdW5jdGlvbihkKXtyZXR1cm4gRig0LGZ1bmN0aW9uKGUpe3JldHVybitkW2VdfSl9LGZ1bmN0aW9uKGQsZSxhKXtyZXR1cm4gRig0LGZ1bmN0aW9uKGQpe3JldHVybiBlLmRlZihcIitcIixhLFwiW1wiLGQsXCJdXCIpfSl9KTtjYXNlIFwic3RlbmNpbC5tYXNrXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIGR8MH0sZnVuY3Rpb24oZCxlLGEpe3JldHVybiBlLmRlZihhLFwifDBcIil9KTtjYXNlIFwic3RlbmNpbC5mdW5jXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuW0JbZC5jbXB8fFwia2VlcFwiXSxkLnJlZnx8MCxcIm1hc2tcImluIGQ/ZC5tYXNrOi0xXX0sZnVuY3Rpb24oZCxlLGEpe2Q9ZS5kZWYoJ1wiY21wXCIgaW4gJyxhLFwiP1wiLGQuY29uc3RhbnRzLmNvbXBhcmVGdW5jcyxcIltcIixhLFwiLmNtcF1cIixcIjpcIiw3NjgwKTt2YXIgYz1lLmRlZihhLFwiLnJlZnwwXCIpO2U9ZS5kZWYoJ1wibWFza1wiIGluICcsYSxcIj9cIixhLFwiLm1hc2t8MDotMVwiKTtyZXR1cm5bZCxcbmMsZV19KTtjYXNlIFwic3RlbmNpbC5vcEZyb250XCI6Y2FzZSBcInN0ZW5jaWwub3BCYWNrXCI6cmV0dXJuIGUoZnVuY3Rpb24oZSl7cmV0dXJuW1wic3RlbmNpbC5vcEJhY2tcIj09PWQ/MTAyOToxMDI4LFlbZS5mYWlsfHxcImtlZXBcIl0sWVtlLnpmYWlsfHxcImtlZXBcIl0sWVtlLnpwYXNzfHxcImtlZXBcIl1dfSxmdW5jdGlvbihlLGEsYyl7ZnVuY3Rpb24gdihkKXtyZXR1cm4gYS5kZWYoJ1wiJyxkLCdcIiBpbiAnLGMsXCI/XCIsYixcIltcIixjLFwiLlwiLGQsXCJdOlwiLDc2ODApfXZhciBiPWUuY29uc3RhbnRzLnN0ZW5jaWxPcHM7cmV0dXJuW1wic3RlbmNpbC5vcEJhY2tcIj09PWQ/MTAyOToxMDI4LHYoXCJmYWlsXCIpLHYoXCJ6ZmFpbFwiKSx2KFwienBhc3NcIildfSk7Y2FzZSBcInBvbHlnb25PZmZzZXQub2Zmc2V0XCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuW2QuZmFjdG9yfDAsZC51bml0c3wwXX0sZnVuY3Rpb24oZCxlLGEpe2Q9ZS5kZWYoYSxcIi5mYWN0b3J8MFwiKTtlPWUuZGVmKGEsXCIudW5pdHN8MFwiKTtyZXR1cm5bZCxcbmVdfSk7Y2FzZSBcImN1bGwuZmFjZVwiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3ZhciBlPTA7XCJmcm9udFwiPT09ZD9lPTEwMjg6XCJiYWNrXCI9PT1kJiYoZT0xMDI5KTtyZXR1cm4gZX0sZnVuY3Rpb24oZCxlLGEpe3JldHVybiBlLmRlZihhLCc9PT1cImZyb250XCI/JywxMDI4LFwiOlwiLDEwMjkpfSk7Y2FzZSBcImxpbmVXaWR0aFwiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVybiBkfSxmdW5jdGlvbihkLGUsYSl7cmV0dXJuIGF9KTtjYXNlIFwiZnJvbnRGYWNlXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIExbZF19LGZ1bmN0aW9uKGQsZSxhKXtyZXR1cm4gZS5kZWYoYSsnPT09XCJjd1wiPzIzMDQ6MjMwNScpfSk7Y2FzZSBcImNvbG9yTWFza1wiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVybiBkLm1hcChmdW5jdGlvbihkKXtyZXR1cm4hIWR9KX0sZnVuY3Rpb24oZCxlLGEpe3JldHVybiBGKDQsZnVuY3Rpb24oZCl7cmV0dXJuXCIhIVwiK2ErXCJbXCIrZCtcIl1cIn0pfSk7Y2FzZSBcInNhbXBsZS5jb3ZlcmFnZVwiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVybltcInZhbHVlXCJpblxuZD9kLnZhbHVlOjEsISFkLmludmVydF19LGZ1bmN0aW9uKGQsZSxhKXtkPWUuZGVmKCdcInZhbHVlXCIgaW4gJyxhLFwiPytcIixhLFwiLnZhbHVlOjFcIik7ZT1lLmRlZihcIiEhXCIsYSxcIi5pbnZlcnRcIik7cmV0dXJuW2QsZV19KX19KTtyZXR1cm4gQX1mdW5jdGlvbiBzYShkLGUpe3ZhciBiPWRbXCJzdGF0aWNcIl0saD1kLmR5bmFtaWMsQT17fTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWJbZF0sYTtpZihcIm51bWJlclwiPT09dHlwZW9mIGV8fFwiYm9vbGVhblwiPT09dHlwZW9mIGUpYT1jKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KTtlbHNlIGlmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBlKXt2YXIgdj1lLl9yZWdsVHlwZTtpZihcInRleHR1cmUyZFwiPT09dnx8XCJ0ZXh0dXJlQ3ViZVwiPT09dilhPWMoZnVuY3Rpb24oZCl7cmV0dXJuIGQubGluayhlKX0pO2Vsc2UgaWYoXCJmcmFtZWJ1ZmZlclwiPT09dnx8XCJmcmFtZWJ1ZmZlckN1YmVcIj09PXYpYT1jKGZ1bmN0aW9uKGQpe3JldHVybiBkLmxpbmsoZS5jb2xvclswXSl9KX1lbHNlIHkoZSkmJlxuKGE9YyhmdW5jdGlvbihkKXtyZXR1cm4gZC5nbG9iYWwuZGVmKFwiW1wiLEYoZS5sZW5ndGgsZnVuY3Rpb24oZCl7cmV0dXJuIGVbZF19KSxcIl1cIil9KSk7YS52YWx1ZT1lO0FbZF09YX0pO09iamVjdC5rZXlzKGgpLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGU9aFtkXTtBW2RdPWEoZSxmdW5jdGlvbihkLGEpe3JldHVybiBkLmludm9rZShhLGUpfSl9KTtyZXR1cm4gQX1mdW5jdGlvbiBkYShkLGUpe3ZhciBiPWRbXCJzdGF0aWNcIl0saD1kLmR5bmFtaWMsQT17fTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWJbZF0sYT1mLmlkKGQpLHY9bmV3IEJhO2lmKGwoZSkpdi5zdGF0ZT0xLHYuYnVmZmVyPU0uZ2V0QnVmZmVyKE0uY3JlYXRlKGUsMzQ5NjIsITEsITApKSx2LnR5cGU9MDtlbHNle3ZhciBoPU0uZ2V0QnVmZmVyKGUpO2lmKGgpdi5zdGF0ZT0xLHYuYnVmZmVyPWgsdi50eXBlPTA7ZWxzZSBpZihlLmNvbnN0YW50KXt2YXIgdz1lLmNvbnN0YW50O3YuYnVmZmVyPVxuXCJudWxsXCI7di5zdGF0ZT0yO1wibnVtYmVyXCI9PT10eXBlb2Ygdz92Lng9dzpOLmZvckVhY2goZnVuY3Rpb24oZCxlKXtlPHcubGVuZ3RoJiYodltkXT13W2VdKX0pfWVsc2V7dmFyIGg9bChlLmJ1ZmZlcik/TS5nZXRCdWZmZXIoTS5jcmVhdGUoZS5idWZmZXIsMzQ5NjIsITEsITApKTpNLmdldEJ1ZmZlcihlLmJ1ZmZlciksej1lLm9mZnNldHwwLHE9ZS5zdHJpZGV8MCxrPWUuc2l6ZXwwLGc9ISFlLm5vcm1hbGl6ZWQsbT0wO1widHlwZVwiaW4gZSYmKG09Q1tlLnR5cGVdKTtlPWUuZGl2aXNvcnwwO3YuYnVmZmVyPWg7di5zdGF0ZT0xO3Yuc2l6ZT1rO3Yubm9ybWFsaXplZD1nO3YudHlwZT1tfHxoLmR0eXBlO3Yub2Zmc2V0PXo7di5zdHJpZGU9cTt2LmRpdmlzb3I9ZX19QVtkXT1jKGZ1bmN0aW9uKGQsZSl7dmFyIGM9ZC5hdHRyaWJDYWNoZTtpZihhIGluIGMpcmV0dXJuIGNbYV07dmFyIGI9e2lzU3RyZWFtOiExfTtPYmplY3Qua2V5cyh2KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2JbZF09XG52W2RdfSk7di5idWZmZXImJihiLmJ1ZmZlcj1kLmxpbmsodi5idWZmZXIpLGIudHlwZT1iLnR5cGV8fGIuYnVmZmVyK1wiLmR0eXBlXCIpO3JldHVybiBjW2FdPWJ9KX0pO09iamVjdC5rZXlzKGgpLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGU9aFtkXTtBW2RdPWEoZSxmdW5jdGlvbihkLGEpe2Z1bmN0aW9uIHYoZCl7YShBW2RdLFwiPVwiLGMsXCIuXCIsZCxcInwwO1wiKX12YXIgYz1kLmludm9rZShhLGUpLGI9ZC5zaGFyZWQsaD1iLmlzQnVmZmVyQXJncyx3PWIuYnVmZmVyLEE9e2lzU3RyZWFtOmEuZGVmKCExKX0sej1uZXcgQmE7ei5zdGF0ZT0xO09iamVjdC5rZXlzKHopLmZvckVhY2goZnVuY3Rpb24oZCl7QVtkXT1hLmRlZihcIlwiK3pbZF0pfSk7dmFyIGFhPUEuYnVmZmVyLHE9QS50eXBlO2EoXCJpZihcIixoLFwiKFwiLGMsXCIpKXtcIixBLmlzU3RyZWFtLFwiPXRydWU7XCIsYWEsXCI9XCIsdyxcIi5jcmVhdGVTdHJlYW0oXCIsMzQ5NjIsXCIsXCIsYyxcIik7XCIscSxcIj1cIixhYSxcIi5kdHlwZTtcIixcIn1lbHNle1wiLFxuYWEsXCI9XCIsdyxcIi5nZXRCdWZmZXIoXCIsYyxcIik7XCIsXCJpZihcIixhYSxcIil7XCIscSxcIj1cIixhYSxcIi5kdHlwZTtcIiwnfWVsc2UgaWYoXCJjb25zdGFudFwiIGluICcsYyxcIil7XCIsQS5zdGF0ZSxcIj1cIiwyLFwiO1wiLFwiaWYodHlwZW9mIFwiK2MrJy5jb25zdGFudCA9PT0gXCJudW1iZXJcIil7JyxBW05bMF1dLFwiPVwiLGMsXCIuY29uc3RhbnQ7XCIsTi5zbGljZSgxKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIEFbZF19KS5qb2luKFwiPVwiKSxcIj0wO1wiLFwifWVsc2V7XCIsTi5tYXAoZnVuY3Rpb24oZCxlKXtyZXR1cm4gQVtkXStcIj1cIitjK1wiLmNvbnN0YW50Lmxlbmd0aD49XCIrZStcIj9cIitjK1wiLmNvbnN0YW50W1wiK2UrXCJdOjA7XCJ9KS5qb2luKFwiXCIpLFwifX1lbHNle1wiLFwiaWYoXCIsaCxcIihcIixjLFwiLmJ1ZmZlcikpe1wiLGFhLFwiPVwiLHcsXCIuY3JlYXRlU3RyZWFtKFwiLDM0OTYyLFwiLFwiLGMsXCIuYnVmZmVyKTtcIixcIn1lbHNle1wiLGFhLFwiPVwiLHcsXCIuZ2V0QnVmZmVyKFwiLGMsXCIuYnVmZmVyKTtcIixcIn1cIixxLCc9XCJ0eXBlXCIgaW4gJyxcbmMsXCI/XCIsYi5nbFR5cGVzLFwiW1wiLGMsXCIudHlwZV06XCIsYWEsXCIuZHR5cGU7XCIsQS5ub3JtYWxpemVkLFwiPSEhXCIsYyxcIi5ub3JtYWxpemVkO1wiKTt2KFwic2l6ZVwiKTt2KFwib2Zmc2V0XCIpO3YoXCJzdHJpZGVcIik7dihcImRpdmlzb3JcIik7YShcIn19XCIpO2EuZXhpdChcImlmKFwiLEEuaXNTdHJlYW0sXCIpe1wiLHcsXCIuZGVzdHJveVN0cmVhbShcIixhYSxcIik7XCIsXCJ9XCIpO3JldHVybiBBfSl9KTtyZXR1cm4gQX1mdW5jdGlvbiBqYShkKXt2YXIgZT1kW1wic3RhdGljXCJdLGI9ZC5keW5hbWljLGg9e307T2JqZWN0LmtleXMoZSkuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgYT1lW2RdO2hbZF09YyhmdW5jdGlvbihkLGUpe3JldHVyblwibnVtYmVyXCI9PT10eXBlb2YgYXx8XCJib29sZWFuXCI9PT10eXBlb2YgYT9cIlwiK2E6ZC5saW5rKGEpfSl9KTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWJbZF07aFtkXT1hKGUsZnVuY3Rpb24oZCxhKXtyZXR1cm4gZC5pbnZva2UoYSxlKX0pfSk7cmV0dXJuIGh9XG5mdW5jdGlvbiBsYShkLGUsYSxjLGIpe3ZhciBoPXlhKGQsYiksdz1VKGQsaCxiKSx6PWthKGQsYikscT1yYShkLGIpLGs9aWEoZCxiKSxnPXcudmlld3BvcnQ7ZyYmKHEudmlld3BvcnQ9Zyk7Zz1XKFwic2Npc3Nvci5ib3hcIik7KHc9d1tnXSkmJihxW2ddPXcpO3c9MDxPYmplY3Qua2V5cyhxKS5sZW5ndGg7aD17ZnJhbWVidWZmZXI6aCxkcmF3Onosc2hhZGVyOmssc3RhdGU6cSxkaXJ0eTp3fTtoLnByb2ZpbGU9bmEoZCxiKTtoLnVuaWZvcm1zPXNhKGEsYik7aC5hdHRyaWJ1dGVzPWRhKGUsYik7aC5jb250ZXh0PWphKGMsYik7cmV0dXJuIGh9ZnVuY3Rpb24gZWEoZCxlLGEpe3ZhciBjPWQuc2hhcmVkLmNvbnRleHQsYj1kLnNjb3BlKCk7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChmdW5jdGlvbihoKXtlLnNhdmUoYyxcIi5cIitoKTtiKGMsXCIuXCIsaCxcIj1cIixhW2hdLmFwcGVuZChkLGUpLFwiO1wiKX0pO2UoYil9ZnVuY3Rpb24gTyhkLGUsYSxjKXt2YXIgYj1kLnNoYXJlZCxoPWIuZ2wsdz1iLmZyYW1lYnVmZmVyLFxuejtvYSYmKHo9ZS5kZWYoYi5leHRlbnNpb25zLFwiLndlYmdsX2RyYXdfYnVmZmVyc1wiKSk7dmFyIHE9ZC5jb25zdGFudHMsYj1xLmRyYXdCdWZmZXIscT1xLmJhY2tCdWZmZXI7ZD1hP2EuYXBwZW5kKGQsZSk6ZS5kZWYodyxcIi5uZXh0XCIpO2N8fGUoXCJpZihcIixkLFwiIT09XCIsdyxcIi5jdXIpe1wiKTtlKFwiaWYoXCIsZCxcIil7XCIsaCxcIi5iaW5kRnJhbWVidWZmZXIoXCIsMzYxNjAsXCIsXCIsZCxcIi5mcmFtZWJ1ZmZlcik7XCIpO29hJiZlKHosXCIuZHJhd0J1ZmZlcnNXRUJHTChcIixiLFwiW1wiLGQsXCIuY29sb3JBdHRhY2htZW50cy5sZW5ndGhdKTtcIik7ZShcIn1lbHNle1wiLGgsXCIuYmluZEZyYW1lYnVmZmVyKFwiLDM2MTYwLFwiLG51bGwpO1wiKTtvYSYmZSh6LFwiLmRyYXdCdWZmZXJzV0VCR0woXCIscSxcIik7XCIpO2UoXCJ9XCIsdyxcIi5jdXI9XCIsZCxcIjtcIik7Y3x8ZShcIn1cIil9ZnVuY3Rpb24gaGEoZCxhLGMpe3ZhciBiPWQuc2hhcmVkLGg9Yi5nbCx6PWQuY3VycmVudCxxPWQubmV4dCxnPWIuY3VycmVudCxrPWIubmV4dCxcbm09ZC5jb25kKGcsXCIuZGlydHlcIik7dy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2E9VyhhKTtpZighKGEgaW4gYy5zdGF0ZSkpe3ZhciB2LGI7aWYoYSBpbiBxKXt2PXFbYV07Yj16W2FdO3ZhciB3PUYoZVthXS5sZW5ndGgsZnVuY3Rpb24oZCl7cmV0dXJuIG0uZGVmKHYsXCJbXCIsZCxcIl1cIil9KTttKGQuY29uZCh3Lm1hcChmdW5jdGlvbihkLGUpe3JldHVybiBkK1wiIT09XCIrYitcIltcIitlK1wiXVwifSkuam9pbihcInx8XCIpKS50aGVuKGgsXCIuXCIseGFbYV0sXCIoXCIsdyxcIik7XCIsdy5tYXAoZnVuY3Rpb24oZCxlKXtyZXR1cm4gYitcIltcIitlK1wiXT1cIitkfSkuam9pbihcIjtcIiksXCI7XCIpKX1lbHNlIHY9bS5kZWYoayxcIi5cIixhKSx3PWQuY29uZCh2LFwiIT09XCIsZyxcIi5cIixhKSxtKHcpLGEgaW4gd2E/dyhkLmNvbmQodikudGhlbihoLFwiLmVuYWJsZShcIix3YVthXSxcIik7XCIpW1wiZWxzZVwiXShoLFwiLmRpc2FibGUoXCIsd2FbYV0sXCIpO1wiKSxnLFwiLlwiLGEsXCI9XCIsdixcIjtcIik6dyhoLFwiLlwiLHhhW2FdLFwiKFwiLHYsXCIpO1wiLFxuZyxcIi5cIixhLFwiPVwiLHYsXCI7XCIpfX0pOzA9PT1PYmplY3Qua2V5cyhjLnN0YXRlKS5sZW5ndGgmJm0oZyxcIi5kaXJ0eT1mYWxzZTtcIik7YShtKX1mdW5jdGlvbiBRKGQsZSxhLGMpe3ZhciBiPWQuc2hhcmVkLGg9ZC5jdXJyZW50LHc9Yi5jdXJyZW50LHE9Yi5nbDtrKE9iamVjdC5rZXlzKGEpKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciB6PWFbYl07aWYoIWN8fGMoeikpe3ZhciBnPXouYXBwZW5kKGQsZSk7aWYod2FbYl0pe3ZhciBrPXdhW2JdO3Ioeik/Zz9lKHEsXCIuZW5hYmxlKFwiLGssXCIpO1wiKTplKHEsXCIuZGlzYWJsZShcIixrLFwiKTtcIik6ZShkLmNvbmQoZykudGhlbihxLFwiLmVuYWJsZShcIixrLFwiKTtcIilbXCJlbHNlXCJdKHEsXCIuZGlzYWJsZShcIixrLFwiKTtcIikpO2UodyxcIi5cIixiLFwiPVwiLGcsXCI7XCIpfWVsc2UgaWYoeShnKSl7dmFyIG09aFtiXTtlKHEsXCIuXCIseGFbYl0sXCIoXCIsZyxcIik7XCIsZy5tYXAoZnVuY3Rpb24oZCxlKXtyZXR1cm4gbStcIltcIitlK1wiXT1cIitkfSkuam9pbihcIjtcIiksXCI7XCIpfWVsc2UgZShxLFxuXCIuXCIseGFbYl0sXCIoXCIsZyxcIik7XCIsdyxcIi5cIixiLFwiPVwiLGcsXCI7XCIpfX0pfWZ1bmN0aW9uIHBhKGQsZSl7dGEmJihkLmluc3RhbmNpbmc9ZS5kZWYoZC5zaGFyZWQuZXh0ZW5zaW9ucyxcIi5hbmdsZV9pbnN0YW5jZWRfYXJyYXlzXCIpKX1mdW5jdGlvbiBWKGQsZSxhLGMsYil7ZnVuY3Rpb24gaCgpe3JldHVyblwidW5kZWZpbmVkXCI9PT10eXBlb2YgcGVyZm9ybWFuY2U/XCJEYXRlLm5vdygpXCI6XCJwZXJmb3JtYW5jZS5ub3coKVwifWZ1bmN0aW9uIHcoZCl7bD1lLmRlZigpO2QobCxcIj1cIixoKCksXCI7XCIpO1wic3RyaW5nXCI9PT10eXBlb2YgYj9kKGssXCIuY291bnQrPVwiLGIsXCI7XCIpOmQoayxcIi5jb3VudCsrO1wiKTttYSYmKGM/KG49ZS5kZWYoKSxkKG4sXCI9XCIsZixcIi5nZXROdW1QZW5kaW5nUXVlcmllcygpO1wiKSk6ZChmLFwiLmJlZ2luUXVlcnkoXCIsayxcIik7XCIpKX1mdW5jdGlvbiBxKGQpe2QoayxcIi5jcHVUaW1lKz1cIixoKCksXCItXCIsbCxcIjtcIik7bWEmJihjP2QoZixcIi5wdXNoU2NvcGVTdGF0cyhcIixuLFxuXCIsXCIsZixcIi5nZXROdW1QZW5kaW5nUXVlcmllcygpLFwiLGssXCIpO1wiKTpkKGYsXCIuZW5kUXVlcnkoKTtcIikpfWZ1bmN0aW9uIHooZCl7dmFyIGE9ZS5kZWYobSxcIi5wcm9maWxlXCIpO2UobSxcIi5wcm9maWxlPVwiLGQsXCI7XCIpO2UuZXhpdChtLFwiLnByb2ZpbGU9XCIsYSxcIjtcIil9dmFyIGc9ZC5zaGFyZWQsaz1kLnN0YXRzLG09Zy5jdXJyZW50LGY9Zy50aW1lcjthPWEucHJvZmlsZTt2YXIgbCxuO2lmKGEpe2lmKHIoYSkpe2EuZW5hYmxlPyh3KGUpLHEoZS5leGl0KSx6KFwidHJ1ZVwiKSk6eihcImZhbHNlXCIpO3JldHVybn1hPWEuYXBwZW5kKGQsZSk7eihhKX1lbHNlIGE9ZS5kZWYobSxcIi5wcm9maWxlXCIpO2c9ZC5ibG9jaygpO3coZyk7ZShcImlmKFwiLGEsXCIpe1wiLGcsXCJ9XCIpO2Q9ZC5ibG9jaygpO3EoZCk7ZS5leGl0KFwiaWYoXCIsYSxcIil7XCIsZCxcIn1cIil9ZnVuY3Rpb24gWChkLGUsYSxjLGIpe2Z1bmN0aW9uIGgoZCl7c3dpdGNoKGQpe2Nhc2UgMzU2NjQ6Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiAyO1xuY2FzZSAzNTY2NTpjYXNlIDM1NjY4OmNhc2UgMzU2NzI6cmV0dXJuIDM7Y2FzZSAzNTY2NjpjYXNlIDM1NjY5OmNhc2UgMzU2NzM6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhhLGMsYil7ZnVuY3Rpb24gaCgpe2UoXCJpZighXCIsbSxcIi5idWZmZXIpe1wiLGcsXCIuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoXCIsayxcIik7fVwiKTt2YXIgYT1iLnR5cGUsdzt3PWIuc2l6ZT9lLmRlZihiLnNpemUsXCJ8fFwiLGMpOmM7ZShcImlmKFwiLG0sXCIudHlwZSE9PVwiLGEsXCJ8fFwiLG0sXCIuc2l6ZSE9PVwiLHcsXCJ8fFwiLGFhLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gbStcIi5cIitkK1wiIT09XCIrYltkXX0pLmpvaW4oXCJ8fFwiKSxcIil7XCIsZyxcIi5iaW5kQnVmZmVyKFwiLDM0OTYyLFwiLFwiLGYsXCIuYnVmZmVyKTtcIixnLFwiLnZlcnRleEF0dHJpYlBvaW50ZXIoXCIsW2ssdyxhLGIubm9ybWFsaXplZCxiLnN0cmlkZSxiLm9mZnNldF0sXCIpO1wiLG0sXCIudHlwZT1cIixhLFwiO1wiLG0sXCIuc2l6ZT1cIix3LFwiO1wiLGFhLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gbStcblwiLlwiK2QrXCI9XCIrYltkXStcIjtcIn0pLmpvaW4oXCJcIiksXCJ9XCIpO3RhJiYoYT1iLmRpdmlzb3IsZShcImlmKFwiLG0sXCIuZGl2aXNvciE9PVwiLGEsXCIpe1wiLGQuaW5zdGFuY2luZyxcIi52ZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEUoXCIsW2ssYV0sXCIpO1wiLG0sXCIuZGl2aXNvcj1cIixhLFwiO31cIikpfWZ1bmN0aW9uIHooKXtlKFwiaWYoXCIsbSxcIi5idWZmZXIpe1wiLGcsXCIuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KFwiLGssXCIpO1wiLFwifWlmKFwiLE4ubWFwKGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG0rXCIuXCIrZCtcIiE9PVwiK0FbZV19KS5qb2luKFwifHxcIiksXCIpe1wiLGcsXCIudmVydGV4QXR0cmliNGYoXCIsayxcIixcIixBLFwiKTtcIixOLm1hcChmdW5jdGlvbihkLGUpe3JldHVybiBtK1wiLlwiK2QrXCI9XCIrQVtlXStcIjtcIn0pLmpvaW4oXCJcIiksXCJ9XCIpfXZhciBnPXEuZ2wsaz1lLmRlZihhLFwiLmxvY2F0aW9uXCIpLG09ZS5kZWYocS5hdHRyaWJ1dGVzLFwiW1wiLGssXCJdXCIpO2E9Yi5zdGF0ZTt2YXIgZj1iLmJ1ZmZlcixBPVtiLngsYi55LFxuYi56LGIud10sYWE9W1wiYnVmZmVyXCIsXCJub3JtYWxpemVkXCIsXCJvZmZzZXRcIixcInN0cmlkZVwiXTsxPT09YT9oKCk6Mj09PWE/eigpOihlKFwiaWYoXCIsYSxcIj09PVwiLDEsXCIpe1wiKSxoKCksZShcIn1lbHNle1wiKSx6KCksZShcIn1cIikpfXZhciBxPWQuc2hhcmVkO2MuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgcT1jLm5hbWUsZz1hLmF0dHJpYnV0ZXNbcV0sejtpZihnKXtpZighYihnKSlyZXR1cm47ej1nLmFwcGVuZChkLGUpfWVsc2V7aWYoIWIoSCkpcmV0dXJuO3ZhciBtPWQuc2NvcGVBdHRyaWIocSk7ej17fTtPYmplY3Qua2V5cyhuZXcgQmEpLmZvckVhY2goZnVuY3Rpb24oZCl7eltkXT1lLmRlZihtLFwiLlwiLGQpfSl9dyhkLmxpbmsoYyksaChjLmluZm8udHlwZSkseil9KX1mdW5jdGlvbiBUKGQsZSxhLGMsYil7Zm9yKHZhciBoPWQuc2hhcmVkLHc9aC5nbCxnLHE9MDtxPGMubGVuZ3RoOysrcSl7dmFyIHo9Y1txXSxtPXoubmFtZSxrPXouaW5mby50eXBlLGw9YS51bmlmb3Jtc1ttXSx6PWQubGluayh6KStcblwiLmxvY2F0aW9uXCIsbjtpZihsKXtpZighYihsKSljb250aW51ZTtpZihyKGwpKXttPWwudmFsdWU7aWYoMzU2Nzg9PT1rfHwzNTY4MD09PWspaz1kLmxpbmsobS5fdGV4dHVyZXx8bS5jb2xvclswXS5fdGV4dHVyZSksZSh3LFwiLnVuaWZvcm0xaShcIix6LFwiLFwiLGsrXCIuYmluZCgpKTtcIiksZS5leGl0KGssXCIudW5iaW5kKCk7XCIpO2Vsc2UgaWYoMzU2NzQ9PT1rfHwzNTY3NT09PWt8fDM1Njc2PT09ayltPWQuZ2xvYmFsLmRlZihcIm5ldyBGbG9hdDMyQXJyYXkoW1wiK0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG0pK1wiXSlcIiksbD0yLDM1Njc1PT09az9sPTM6MzU2NzY9PT1rJiYobD00KSxlKHcsXCIudW5pZm9ybU1hdHJpeFwiLGwsXCJmdihcIix6LFwiLGZhbHNlLFwiLG0sXCIpO1wiKTtlbHNle3N3aXRjaChrKXtjYXNlIDUxMjY6Zz1cIjFmXCI7YnJlYWs7Y2FzZSAzNTY2NDpnPVwiMmZcIjticmVhaztjYXNlIDM1NjY1Omc9XCIzZlwiO2JyZWFrO2Nhc2UgMzU2NjY6Zz1cIjRmXCI7YnJlYWs7Y2FzZSAzNTY3MDpnPVxuXCIxaVwiO2JyZWFrO2Nhc2UgNTEyNDpnPVwiMWlcIjticmVhaztjYXNlIDM1NjcxOmc9XCIyaVwiO2JyZWFrO2Nhc2UgMzU2Njc6Zz1cIjJpXCI7YnJlYWs7Y2FzZSAzNTY3MjpnPVwiM2lcIjticmVhaztjYXNlIDM1NjY4Omc9XCIzaVwiO2JyZWFrO2Nhc2UgMzU2NzM6Zz1cIjRpXCI7YnJlYWs7Y2FzZSAzNTY2OTpnPVwiNGlcIn1lKHcsXCIudW5pZm9ybVwiLGcsXCIoXCIseixcIixcIix5KG0pP0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG0pOm0sXCIpO1wiKX1jb250aW51ZX1lbHNlIG49bC5hcHBlbmQoZCxlKX1lbHNle2lmKCFiKEgpKWNvbnRpbnVlO249ZS5kZWYoaC51bmlmb3JtcyxcIltcIixmLmlkKG0pLFwiXVwiKX0zNTY3OD09PWs/ZShcImlmKFwiLG4sXCImJlwiLG4sJy5fcmVnbFR5cGU9PT1cImZyYW1lYnVmZmVyXCIpeycsbixcIj1cIixuLFwiLmNvbG9yWzBdO1wiLFwifVwiKTozNTY4MD09PWsmJmUoXCJpZihcIixuLFwiJiZcIixuLCcuX3JlZ2xUeXBlPT09XCJmcmFtZWJ1ZmZlckN1YmVcIil7JyxuLFwiPVwiLG4sXCIuY29sb3JbMF07XCIsXCJ9XCIpO1xubT0xO3N3aXRjaChrKXtjYXNlIDM1Njc4OmNhc2UgMzU2ODA6az1lLmRlZihuLFwiLl90ZXh0dXJlXCIpO2UodyxcIi51bmlmb3JtMWkoXCIseixcIixcIixrLFwiLmJpbmQoKSk7XCIpO2UuZXhpdChrLFwiLnVuYmluZCgpO1wiKTtjb250aW51ZTtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpnPVwiMWlcIjticmVhaztjYXNlIDM1NjY3OmNhc2UgMzU2NzE6Zz1cIjJpXCI7bT0yO2JyZWFrO2Nhc2UgMzU2Njg6Y2FzZSAzNTY3MjpnPVwiM2lcIjttPTM7YnJlYWs7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOmc9XCI0aVwiO209NDticmVhaztjYXNlIDUxMjY6Zz1cIjFmXCI7YnJlYWs7Y2FzZSAzNTY2NDpnPVwiMmZcIjttPTI7YnJlYWs7Y2FzZSAzNTY2NTpnPVwiM2ZcIjttPTM7YnJlYWs7Y2FzZSAzNTY2NjpnPVwiNGZcIjttPTQ7YnJlYWs7Y2FzZSAzNTY3NDpnPVwiTWF0cml4MmZ2XCI7YnJlYWs7Y2FzZSAzNTY3NTpnPVwiTWF0cml4M2Z2XCI7YnJlYWs7Y2FzZSAzNTY3NjpnPVwiTWF0cml4NGZ2XCJ9ZSh3LFwiLnVuaWZvcm1cIixnLFwiKFwiLHosXCIsXCIpO1xuaWYoXCJNXCI9PT1nLmNoYXJBdCgwKSl7dmFyIHo9TWF0aC5wb3coay0zNTY3NCsyLDIpLEI9ZC5nbG9iYWwuZGVmKFwibmV3IEZsb2F0MzJBcnJheShcIix6LFwiKVwiKTtlKFwiZmFsc2UsKEFycmF5LmlzQXJyYXkoXCIsbixcIil8fFwiLG4sXCIgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXkpP1wiLG4sXCI6KFwiLEYoeixmdW5jdGlvbihkKXtyZXR1cm4gQitcIltcIitkK1wiXT1cIituK1wiW1wiK2QrXCJdXCJ9KSxcIixcIixCLFwiKVwiKX1lbHNlIDE8bT9lKEYobSxmdW5jdGlvbihkKXtyZXR1cm4gbitcIltcIitkK1wiXVwifSkpOmUobik7ZShcIik7XCIpfX1mdW5jdGlvbiB1YShkLGUsYSxjKXtmdW5jdGlvbiBiKGgpe3ZhciBnPWtbaF07cmV0dXJuIGc/Zy5jb250ZXh0RGVwJiZjLmNvbnRleHREeW5hbWljfHxnLnByb3BEZXA/Zy5hcHBlbmQoZCxhKTpnLmFwcGVuZChkLGUpOmUuZGVmKG0sXCIuXCIsaCl9ZnVuY3Rpb24gaCgpe2Z1bmN0aW9uIGQoKXthKHgsXCIuZHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUoXCIsW2YsbixLLGwrXCI8PCgoXCIrXG5LK1wiLTUxMjEpPj4xKVwiLEJdLFwiKTtcIil9ZnVuY3Rpb24gZSgpe2EoeCxcIi5kcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUoXCIsW2YsbCxuLEJdLFwiKTtcIil9cT9TP2QoKTooYShcImlmKFwiLHEsXCIpe1wiKSxkKCksYShcIn1lbHNle1wiKSxlKCksYShcIn1cIikpOmUoKX1mdW5jdGlvbiBnKCl7ZnVuY3Rpb24gZCgpe2EoeitcIi5kcmF3RWxlbWVudHMoXCIrW2YsbixLLGwrXCI8PCgoXCIrSytcIi01MTIxKT4+MSlcIl0rXCIpO1wiKX1mdW5jdGlvbiBlKCl7YSh6K1wiLmRyYXdBcnJheXMoXCIrW2YsbCxuXStcIik7XCIpfXE/Uz9kKCk6KGEoXCJpZihcIixxLFwiKXtcIiksZCgpLGEoXCJ9ZWxzZXtcIiksZSgpLGEoXCJ9XCIpKTplKCl9dmFyIHc9ZC5zaGFyZWQsej13LmdsLG09dy5kcmF3LGs9Yy5kcmF3LHE9ZnVuY3Rpb24oKXt2YXIgYj1rLmVsZW1lbnRzLGg9ZTtpZihiKXtpZihiLmNvbnRleHREZXAmJmMuY29udGV4dER5bmFtaWN8fGIucHJvcERlcCloPWE7Yj1iLmFwcGVuZChkLGgpfWVsc2UgYj1oLmRlZihtLFwiLlwiLFwiZWxlbWVudHNcIik7XG5iJiZoKFwiaWYoXCIrYitcIilcIit6K1wiLmJpbmRCdWZmZXIoMzQ5NjMsXCIrYitcIi5idWZmZXIuYnVmZmVyKTtcIik7cmV0dXJuIGJ9KCksZj1iKFwicHJpbWl0aXZlXCIpLGw9YihcIm9mZnNldFwiKSxuPWZ1bmN0aW9uKCl7dmFyIGI9ay5jb3VudCxoPWU7aWYoYil7aWYoYi5jb250ZXh0RGVwJiZjLmNvbnRleHREeW5hbWljfHxiLnByb3BEZXApaD1hO2I9Yi5hcHBlbmQoZCxoKX1lbHNlIGI9aC5kZWYobSxcIi5cIixcImNvdW50XCIpO3JldHVybiBifSgpO2lmKFwibnVtYmVyXCI9PT10eXBlb2Ygbil7aWYoMD09PW4pcmV0dXJufWVsc2UgYShcImlmKFwiLG4sXCIpe1wiKSxhLmV4aXQoXCJ9XCIpO3ZhciBCLHg7dGEmJihCPWIoXCJpbnN0YW5jZXNcIikseD1kLmluc3RhbmNpbmcpO3ZhciBLPXErXCIudHlwZVwiLFM9ay5lbGVtZW50cyYmcihrLmVsZW1lbnRzKTt0YSYmKFwibnVtYmVyXCIhPT10eXBlb2YgQnx8MDw9Qik/XCJzdHJpbmdcIj09PXR5cGVvZiBCPyhhKFwiaWYoXCIsQixcIj4wKXtcIiksaCgpLGEoXCJ9ZWxzZSBpZihcIixCLFxuXCI8MCl7XCIpLGcoKSxhKFwifVwiKSk6aCgpOmcoKX1mdW5jdGlvbiBFYShkLGUsYSxiLGMpe2U9YmEoKTtjPWUucHJvYyhcImJvZHlcIixjKTt0YSYmKGUuaW5zdGFuY2luZz1jLmRlZihlLnNoYXJlZC5leHRlbnNpb25zLFwiLmFuZ2xlX2luc3RhbmNlZF9hcnJheXNcIikpO2QoZSxjLGEsYik7cmV0dXJuIGUuY29tcGlsZSgpLmJvZHl9ZnVuY3Rpb24gRmEoZCxlLGEsYil7cGEoZCxlKTtYKGQsZSxhLGIuYXR0cmlidXRlcyxmdW5jdGlvbigpe3JldHVybiEwfSk7VChkLGUsYSxiLnVuaWZvcm1zLGZ1bmN0aW9uKCl7cmV0dXJuITB9KTt1YShkLGUsZSxhKX1mdW5jdGlvbiBIYShkLGUpe3ZhciBhPWQucHJvYyhcImRyYXdcIiwxKTtwYShkLGEpO2VhKGQsYSxlLmNvbnRleHQpO08oZCxhLGUuZnJhbWVidWZmZXIpO2hhKGQsYSxlKTtRKGQsYSxlLnN0YXRlKTtWKGQsYSxlLCExLCEwKTt2YXIgYj1lLnNoYWRlci5wcm9nVmFyLmFwcGVuZChkLGEpO2EoZC5zaGFyZWQuZ2wsXCIudXNlUHJvZ3JhbShcIixiLFxuXCIucHJvZ3JhbSk7XCIpO2lmKGUuc2hhZGVyLnByb2dyYW0pRmEoZCxhLGUsZS5zaGFkZXIucHJvZ3JhbSk7ZWxzZXt2YXIgYz1kLmdsb2JhbC5kZWYoXCJ7fVwiKSxoPWEuZGVmKGIsXCIuaWRcIiksZz1hLmRlZihjLFwiW1wiLGgsXCJdXCIpO2EoZC5jb25kKGcpLnRoZW4oZyxcIi5jYWxsKHRoaXMsYTApO1wiKVtcImVsc2VcIl0oZyxcIj1cIixjLFwiW1wiLGgsXCJdPVwiLGQubGluayhmdW5jdGlvbihhKXtyZXR1cm4gRWEoRmEsZCxlLGEsMSl9KSxcIihcIixiLFwiKTtcIixnLFwiLmNhbGwodGhpcyxhMCk7XCIpKX0wPE9iamVjdC5rZXlzKGUuc3RhdGUpLmxlbmd0aCYmYShkLnNoYXJlZC5jdXJyZW50LFwiLmRpcnR5PXRydWU7XCIpfWZ1bmN0aW9uIElhKGQsZSxhLGIpe2Z1bmN0aW9uIGMoKXtyZXR1cm4hMH1kLmJhdGNoSWQ9XCJhMVwiO3BhKGQsZSk7WChkLGUsYSxiLmF0dHJpYnV0ZXMsYyk7VChkLGUsYSxiLnVuaWZvcm1zLGMpO3VhKGQsZSxlLGEpfWZ1bmN0aW9uIENhKGUsYSxiLGMpe2Z1bmN0aW9uIGgoZSl7cmV0dXJuIGUuY29udGV4dERlcCYmXG53fHxlLnByb3BEZXB9ZnVuY3Rpb24gZyhlKXtyZXR1cm4haChlKX1wYShlLGEpO3ZhciB3PWIuY29udGV4dERlcCx6PWEuZGVmKCksbT1hLmRlZigpO2Uuc2hhcmVkLnByb3BzPW07ZS5iYXRjaElkPXo7dmFyIGs9ZS5zY29wZSgpLHE9ZS5zY29wZSgpO2Eoay5lbnRyeSxcImZvcihcIix6LFwiPTA7XCIseixcIjxcIixcImExXCIsXCI7KytcIix6LFwiKXtcIixtLFwiPVwiLFwiYTBcIixcIltcIix6LFwiXTtcIixxLFwifVwiLGsuZXhpdCk7Yi5uZWVkc0NvbnRleHQmJmVhKGUscSxiLmNvbnRleHQpO2IubmVlZHNGcmFtZWJ1ZmZlciYmTyhlLHEsYi5mcmFtZWJ1ZmZlcik7UShlLHEsYi5zdGF0ZSxoKTtiLnByb2ZpbGUmJmgoYi5wcm9maWxlKSYmVihlLHEsYiwhMSwhMCk7Yz8oWChlLGssYixjLmF0dHJpYnV0ZXMsZyksWChlLHEsYixjLmF0dHJpYnV0ZXMsaCksVChlLGssYixjLnVuaWZvcm1zLGcpLFQoZSxxLGIsYy51bmlmb3JtcyxoKSx1YShlLGsscSxiKSk6KGE9ZS5nbG9iYWwuZGVmKFwie31cIiksYz1iLnNoYWRlci5wcm9nVmFyLmFwcGVuZChlLFxucSksbT1xLmRlZihjLFwiLmlkXCIpLGs9cS5kZWYoYSxcIltcIixtLFwiXVwiKSxxKGUuc2hhcmVkLmdsLFwiLnVzZVByb2dyYW0oXCIsYyxcIi5wcm9ncmFtKTtcIixcImlmKCFcIixrLFwiKXtcIixrLFwiPVwiLGEsXCJbXCIsbSxcIl09XCIsZS5saW5rKGZ1bmN0aW9uKGEpe3JldHVybiBFYShJYSxlLGIsYSwyKX0pLFwiKFwiLGMsXCIpO31cIixrLFwiLmNhbGwodGhpcyxhMFtcIix6LFwiXSxcIix6LFwiKTtcIikpfWZ1bmN0aW9uIERhKGUsYSl7ZnVuY3Rpb24gYihlKXtyZXR1cm4gZS5jb250ZXh0RGVwJiZofHxlLnByb3BEZXB9dmFyIGM9ZS5wcm9jKFwiYmF0Y2hcIiwyKTtlLmJhdGNoSWQ9XCIwXCI7cGEoZSxjKTt2YXIgaD0hMSxnPSEwO09iamVjdC5rZXlzKGEuY29udGV4dCkuZm9yRWFjaChmdW5jdGlvbihlKXtoPWh8fGEuY29udGV4dFtlXS5wcm9wRGVwfSk7aHx8KGVhKGUsYyxhLmNvbnRleHQpLGc9ITEpO3ZhciB3PWEuZnJhbWVidWZmZXIsej0hMTt3Pyh3LnByb3BEZXA/aD16PSEwOncuY29udGV4dERlcCYmaCYmKHo9ITApLFxuenx8TyhlLGMsdykpOk8oZSxjLG51bGwpO2Euc3RhdGUudmlld3BvcnQmJmEuc3RhdGUudmlld3BvcnQucHJvcERlcCYmKGg9ITApO2hhKGUsYyxhKTtRKGUsYyxhLnN0YXRlLGZ1bmN0aW9uKGUpe3JldHVybiFiKGUpfSk7YS5wcm9maWxlJiZiKGEucHJvZmlsZSl8fFYoZSxjLGEsITEsXCJhMVwiKTthLmNvbnRleHREZXA9aDthLm5lZWRzQ29udGV4dD1nO2EubmVlZHNGcmFtZWJ1ZmZlcj16O2c9YS5zaGFkZXIucHJvZ1ZhcjtpZihnLmNvbnRleHREZXAmJmh8fGcucHJvcERlcClDYShlLGMsYSxudWxsKTtlbHNlIGlmKGc9Zy5hcHBlbmQoZSxjKSxjKGUuc2hhcmVkLmdsLFwiLnVzZVByb2dyYW0oXCIsZyxcIi5wcm9ncmFtKTtcIiksYS5zaGFkZXIucHJvZ3JhbSlDYShlLGMsYSxhLnNoYWRlci5wcm9ncmFtKTtlbHNle3ZhciB3PWUuZ2xvYmFsLmRlZihcInt9XCIpLHo9Yy5kZWYoZyxcIi5pZFwiKSxxPWMuZGVmKHcsXCJbXCIseixcIl1cIik7YyhlLmNvbmQocSkudGhlbihxLFwiLmNhbGwodGhpcyxhMCxhMSk7XCIpW1wiZWxzZVwiXShxLFxuXCI9XCIsdyxcIltcIix6LFwiXT1cIixlLmxpbmsoZnVuY3Rpb24oYil7cmV0dXJuIEVhKENhLGUsYSxiLDIpfSksXCIoXCIsZyxcIik7XCIscSxcIi5jYWxsKHRoaXMsYTAsYTEpO1wiKSl9MDxPYmplY3Qua2V5cyhhLnN0YXRlKS5sZW5ndGgmJmMoZS5zaGFyZWQuY3VycmVudCxcIi5kaXJ0eT10cnVlO1wiKX1mdW5jdGlvbiBQYShlLGEpe2Z1bmN0aW9uIGIoZyl7dmFyIHc9YS5zaGFkZXJbZ107dyYmYy5zZXQoaC5zaGFkZXIsXCIuXCIrZyx3LmFwcGVuZChlLGMpKX12YXIgYz1lLnByb2MoXCJzY29wZVwiLDMpO2UuYmF0Y2hJZD1cImEyXCI7dmFyIGg9ZS5zaGFyZWQsZz1oLmN1cnJlbnQ7ZWEoZSxjLGEuY29udGV4dCk7YS5mcmFtZWJ1ZmZlciYmYS5mcmFtZWJ1ZmZlci5hcHBlbmQoZSxjKTtrKE9iamVjdC5rZXlzKGEuc3RhdGUpKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBnPWEuc3RhdGVbYl0uYXBwZW5kKGUsYyk7eShnKT9nLmZvckVhY2goZnVuY3Rpb24oYSxoKXtjLnNldChlLm5leHRbYl0sXCJbXCIraCtcIl1cIixcbmEpfSk6Yy5zZXQoaC5uZXh0LFwiLlwiK2IsZyl9KTtWKGUsYyxhLCEwLCEwKTtbXCJlbGVtZW50c1wiLFwib2Zmc2V0XCIsXCJjb3VudFwiLFwiaW5zdGFuY2VzXCIsXCJwcmltaXRpdmVcIl0uZm9yRWFjaChmdW5jdGlvbihiKXt2YXIgZz1hLmRyYXdbYl07ZyYmYy5zZXQoaC5kcmF3LFwiLlwiK2IsXCJcIitnLmFwcGVuZChlLGMpKX0pO09iamVjdC5rZXlzKGEudW5pZm9ybXMpLmZvckVhY2goZnVuY3Rpb24oYil7Yy5zZXQoaC51bmlmb3JtcyxcIltcIitmLmlkKGIpK1wiXVwiLGEudW5pZm9ybXNbYl0uYXBwZW5kKGUsYykpfSk7T2JqZWN0LmtleXMoYS5hdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBoPWEuYXR0cmlidXRlc1tiXS5hcHBlbmQoZSxjKSxnPWUuc2NvcGVBdHRyaWIoYik7T2JqZWN0LmtleXMobmV3IEJhKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Muc2V0KGcsXCIuXCIrZSxoW2VdKX0pfSk7YihcInZlcnRcIik7YihcImZyYWdcIik7MDxPYmplY3Qua2V5cyhhLnN0YXRlKS5sZW5ndGgmJihjKGcsXG5cIi5kaXJ0eT10cnVlO1wiKSxjLmV4aXQoZyxcIi5kaXJ0eT10cnVlO1wiKSk7YyhcImExKFwiLGUuc2hhcmVkLmNvbnRleHQsXCIsYTAsXCIsZS5iYXRjaElkLFwiKTtcIil9ZnVuY3Rpb24gTmEoZSl7aWYoXCJvYmplY3RcIj09PXR5cGVvZiBlJiYheShlKSl7Zm9yKHZhciBhPU9iamVjdC5rZXlzKGUpLGI9MDtiPGEubGVuZ3RoOysrYilpZihnLmlzRHluYW1pYyhlW2FbYl1dKSlyZXR1cm4hMDtyZXR1cm4hMX19ZnVuY3Rpb24gSmEoZSxiLGMpe2Z1bmN0aW9uIGgoZSxhKXtxLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGI9d1tkXTtnLmlzRHluYW1pYyhiKSYmKGI9ZS5pbnZva2UoYSxiKSxhKG4sXCIuXCIsZCxcIj1cIixiLFwiO1wiKSl9KX12YXIgdz1iW1wic3RhdGljXCJdW2NdO2lmKHcmJk5hKHcpKXt2YXIgej1lLmdsb2JhbCxxPU9iamVjdC5rZXlzKHcpLGs9ITEsbT0hMSxmPSExLG49ZS5nbG9iYWwuZGVmKFwie31cIik7cS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPXdbYl07aWYoZy5pc0R5bmFtaWMoYykpXCJmdW5jdGlvblwiPT09XG50eXBlb2YgYyYmKGM9d1tiXT1nLnVuYm94KGMpKSxiPWEoYyxudWxsKSxrPWt8fGIudGhpc0RlcCxmPWZ8fGIucHJvcERlcCxtPW18fGIuY29udGV4dERlcDtlbHNle3oobixcIi5cIixiLFwiPVwiKTtzd2l0Y2godHlwZW9mIGMpe2Nhc2UgXCJudW1iZXJcIjp6KGMpO2JyZWFrO2Nhc2UgXCJzdHJpbmdcIjp6KCdcIicsYywnXCInKTticmVhaztjYXNlIFwib2JqZWN0XCI6QXJyYXkuaXNBcnJheShjKSYmeihcIltcIixjLmpvaW4oKSxcIl1cIik7YnJlYWs7ZGVmYXVsdDp6KGUubGluayhjKSl9eihcIjtcIil9fSk7Yi5keW5hbWljW2NdPW5ldyBnLkR5bmFtaWNWYXJpYWJsZSg0LHt0aGlzRGVwOmssY29udGV4dERlcDptLHByb3BEZXA6ZixyZWY6bixhcHBlbmQ6aH0pO2RlbGV0ZSBiW1wic3RhdGljXCJdW2NdfX12YXIgQmE9QWEuUmVjb3JkLGNhPXthZGQ6MzI3NzQsc3VidHJhY3Q6MzI3NzgsXCJyZXZlcnNlIHN1YnRyYWN0XCI6MzI3Nzl9O3QuZXh0X2JsZW5kX21pbm1heCYmKGNhLm1pbj0zMjc3NSxjYS5tYXg9MzI3NzYpO1xudmFyIHRhPXQuYW5nbGVfaW5zdGFuY2VkX2FycmF5cyxvYT10LndlYmdsX2RyYXdfYnVmZmVycyxlPXtkaXJ0eTohMCxwcm9maWxlOmdhLnByb2ZpbGV9LHo9e30sdz1bXSx3YT17fSx4YT17fTtSKFwiZGl0aGVyXCIsMzAyNCk7UihcImJsZW5kLmVuYWJsZVwiLDMwNDIpO0coXCJibGVuZC5jb2xvclwiLFwiYmxlbmRDb2xvclwiLFswLDAsMCwwXSk7RyhcImJsZW5kLmVxdWF0aW9uXCIsXCJibGVuZEVxdWF0aW9uU2VwYXJhdGVcIixbMzI3NzQsMzI3NzRdKTtHKFwiYmxlbmQuZnVuY1wiLFwiYmxlbmRGdW5jU2VwYXJhdGVcIixbMSwwLDEsMF0pO1IoXCJkZXB0aC5lbmFibGVcIiwyOTI5LCEwKTtHKFwiZGVwdGguZnVuY1wiLFwiZGVwdGhGdW5jXCIsNTEzKTtHKFwiZGVwdGgucmFuZ2VcIixcImRlcHRoUmFuZ2VcIixbMCwxXSk7RyhcImRlcHRoLm1hc2tcIixcImRlcHRoTWFza1wiLCEwKTtHKFwiY29sb3JNYXNrXCIsXCJjb2xvck1hc2tcIixbITAsITAsITAsITBdKTtSKFwiY3VsbC5lbmFibGVcIiwyODg0KTtHKFwiY3VsbC5mYWNlXCIsXCJjdWxsRmFjZVwiLFxuMTAyOSk7RyhcImZyb250RmFjZVwiLFwiZnJvbnRGYWNlXCIsMjMwNSk7RyhcImxpbmVXaWR0aFwiLFwibGluZVdpZHRoXCIsMSk7UihcInBvbHlnb25PZmZzZXQuZW5hYmxlXCIsMzI4MjMpO0coXCJwb2x5Z29uT2Zmc2V0Lm9mZnNldFwiLFwicG9seWdvbk9mZnNldFwiLFswLDBdKTtSKFwic2FtcGxlLmFscGhhXCIsMzI5MjYpO1IoXCJzYW1wbGUuZW5hYmxlXCIsMzI5MjgpO0coXCJzYW1wbGUuY292ZXJhZ2VcIixcInNhbXBsZUNvdmVyYWdlXCIsWzEsITFdKTtSKFwic3RlbmNpbC5lbmFibGVcIiwyOTYwKTtHKFwic3RlbmNpbC5tYXNrXCIsXCJzdGVuY2lsTWFza1wiLC0xKTtHKFwic3RlbmNpbC5mdW5jXCIsXCJzdGVuY2lsRnVuY1wiLFs1MTksMCwtMV0pO0coXCJzdGVuY2lsLm9wRnJvbnRcIixcInN0ZW5jaWxPcFNlcGFyYXRlXCIsWzEwMjgsNzY4MCw3NjgwLDc2ODBdKTtHKFwic3RlbmNpbC5vcEJhY2tcIixcInN0ZW5jaWxPcFNlcGFyYXRlXCIsWzEwMjksNzY4MCw3NjgwLDc2ODBdKTtSKFwic2Npc3Nvci5lbmFibGVcIiwzMDg5KTtHKFwic2Npc3Nvci5ib3hcIixcblwic2Npc3NvclwiLFswLDAsaC5kcmF3aW5nQnVmZmVyV2lkdGgsaC5kcmF3aW5nQnVmZmVySGVpZ2h0XSk7RyhcInZpZXdwb3J0XCIsXCJ2aWV3cG9ydFwiLFswLDAsaC5kcmF3aW5nQnVmZmVyV2lkdGgsaC5kcmF3aW5nQnVmZmVySGVpZ2h0XSk7dmFyIFFhPXtnbDpoLGNvbnRleHQ6UyxzdHJpbmdzOmYsbmV4dDp6LGN1cnJlbnQ6ZSxkcmF3OnEsZWxlbWVudHM6dSxidWZmZXI6TSxzaGFkZXI6dmEsYXR0cmlidXRlczpBYS5zdGF0ZSx1bmlmb3JtczpLLGZyYW1lYnVmZmVyOkQsZXh0ZW5zaW9uczp0LHRpbWVyOm1hLGlzQnVmZmVyQXJnczpsfSxNYT17cHJpbVR5cGVzOkUsY29tcGFyZUZ1bmNzOkIsYmxlbmRGdW5jczptLGJsZW5kRXF1YXRpb25zOmNhLHN0ZW5jaWxPcHM6WSxnbFR5cGVzOkMsb3JpZW50YXRpb25UeXBlOkx9O29hJiYoTWEuYmFja0J1ZmZlcj1bMTAyOV0sTWEuZHJhd0J1ZmZlcj1GKHAubWF4RHJhd2J1ZmZlcnMsZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1lP1swXTpGKGUsZnVuY3Rpb24oZSl7cmV0dXJuIDM2MDY0K1xuZX0pfSkpO3ZhciBSYT0wO3JldHVybntuZXh0OnosY3VycmVudDplLHByb2NzOmZ1bmN0aW9uKCl7dmFyIGE9YmEoKSxiPWEucHJvYyhcInBvbGxcIiksYz1hLnByb2MoXCJyZWZyZXNoXCIpLGc9YS5ibG9jaygpO2IoZyk7YyhnKTt2YXIgdz1hLnNoYXJlZCx6PXcuZ2wscT13Lm5leHQsaz13LmN1cnJlbnQ7ZyhrLFwiLmRpcnR5PWZhbHNlO1wiKTtPKGEsYik7TyhhLGMsbnVsbCwhMCk7dmFyIG09aC5nZXRFeHRlbnNpb24oXCJhbmdsZV9pbnN0YW5jZWRfYXJyYXlzXCIpLGY7bSYmKGY9YS5saW5rKG0pKTtmb3IodmFyIG49MDtuPHAubWF4QXR0cmlidXRlczsrK24pe3ZhciBsPWMuZGVmKHcuYXR0cmlidXRlcyxcIltcIixuLFwiXVwiKSxCPWEuY29uZChsLFwiLmJ1ZmZlclwiKTtCLnRoZW4oeixcIi5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShcIixuLFwiKTtcIix6LFwiLmJpbmRCdWZmZXIoXCIsMzQ5NjIsXCIsXCIsbCxcIi5idWZmZXIuYnVmZmVyKTtcIix6LFwiLnZlcnRleEF0dHJpYlBvaW50ZXIoXCIsbixcIixcIixsLFwiLnNpemUsXCIsXG5sLFwiLnR5cGUsXCIsbCxcIi5ub3JtYWxpemVkLFwiLGwsXCIuc3RyaWRlLFwiLGwsXCIub2Zmc2V0KTtcIilbXCJlbHNlXCJdKHosXCIuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KFwiLG4sXCIpO1wiLHosXCIudmVydGV4QXR0cmliNGYoXCIsbixcIixcIixsLFwiLngsXCIsbCxcIi55LFwiLGwsXCIueixcIixsLFwiLncpO1wiLGwsXCIuYnVmZmVyPW51bGw7XCIpO2MoQik7bSYmYyhmLFwiLnZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRShcIixuLFwiLFwiLGwsXCIuZGl2aXNvcik7XCIpfU9iamVjdC5rZXlzKHdhKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBoPXdhW2VdLHc9Zy5kZWYocSxcIi5cIixlKSxtPWEuYmxvY2soKTttKFwiaWYoXCIsdyxcIil7XCIseixcIi5lbmFibGUoXCIsaCxcIil9ZWxzZXtcIix6LFwiLmRpc2FibGUoXCIsaCxcIil9XCIsayxcIi5cIixlLFwiPVwiLHcsXCI7XCIpO2MobSk7YihcImlmKFwiLHcsXCIhPT1cIixrLFwiLlwiLGUsXCIpe1wiLG0sXCJ9XCIpfSk7T2JqZWN0LmtleXMoeGEpLmZvckVhY2goZnVuY3Rpb24oaCl7dmFyIHc9eGFbaF0sbT1lW2hdLGYsXG5uLGw9YS5ibG9jaygpO2woeixcIi5cIix3LFwiKFwiKTt5KG0pPyh3PW0ubGVuZ3RoLGY9YS5nbG9iYWwuZGVmKHEsXCIuXCIsaCksbj1hLmdsb2JhbC5kZWYoayxcIi5cIixoKSxsKEYodyxmdW5jdGlvbihlKXtyZXR1cm4gZitcIltcIitlK1wiXVwifSksXCIpO1wiLEYodyxmdW5jdGlvbihlKXtyZXR1cm4gbitcIltcIitlK1wiXT1cIitmK1wiW1wiK2UrXCJdO1wifSkuam9pbihcIlwiKSksYihcImlmKFwiLEYodyxmdW5jdGlvbihlKXtyZXR1cm4gZitcIltcIitlK1wiXSE9PVwiK24rXCJbXCIrZStcIl1cIn0pLmpvaW4oXCJ8fFwiKSxcIil7XCIsbCxcIn1cIikpOihmPWcuZGVmKHEsXCIuXCIsaCksbj1nLmRlZihrLFwiLlwiLGgpLGwoZixcIik7XCIsayxcIi5cIixoLFwiPVwiLGYsXCI7XCIpLGIoXCJpZihcIixmLFwiIT09XCIsbixcIil7XCIsbCxcIn1cIikpO2MobCl9KTtyZXR1cm4gYS5jb21waWxlKCl9KCksY29tcGlsZTpmdW5jdGlvbihlLGEsYixjLGgpe3ZhciBnPWJhKCk7Zy5zdGF0cz1nLmxpbmsoaCk7T2JqZWN0LmtleXMoYVtcInN0YXRpY1wiXSkuZm9yRWFjaChmdW5jdGlvbihlKXtKYShnLFxuYSxlKX0pO24uZm9yRWFjaChmdW5jdGlvbihhKXtKYShnLGUsYSl9KTtiPWxhKGUsYSxiLGMsZyk7SGEoZyxiKTtQYShnLGIpO0RhKGcsYik7cmV0dXJuIGcuY29tcGlsZSgpfX19fSx7XCIuL2NvbnN0YW50cy9kdHlwZXMuanNvblwiOjQsXCIuL2NvbnN0YW50cy9wcmltaXRpdmVzLmpzb25cIjo1LFwiLi9keW5hbWljXCI6OCxcIi4vdXRpbC9jb2RlZ2VuXCI6MjEsXCIuL3V0aWwvaXMtYXJyYXktbGlrZVwiOjI0LFwiLi91dGlsL2lzLW5kYXJyYXlcIjoyNSxcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiOjI2LFwiLi91dGlsL2xvb3BcIjoyN31dLDg6W2Z1bmN0aW9uKGYscCx1KXtmdW5jdGlvbiBsKGMsYSl7dGhpcy5pZD1yKys7dGhpcy50eXBlPWM7dGhpcy5kYXRhPWF9ZnVuY3Rpb24gayhjKXtpZigwPT09Yy5sZW5ndGgpcmV0dXJuW107dmFyIGE9Yy5jaGFyQXQoMCksYj1jLmNoYXJBdChjLmxlbmd0aC0xKTtpZigxPGMubGVuZ3RoJiZhPT09YiYmKCdcIic9PT1hfHxcIidcIj09PWEpKXJldHVyblsnXCInK2Muc3Vic3RyKDEsXG5jLmxlbmd0aC0yKS5yZXBsYWNlKC9cXFxcL2csXCJcXFxcXFxcXFwiKS5yZXBsYWNlKC9cIi9nLCdcXFxcXCInKSsnXCInXTtpZihhPS9cXFsoZmFsc2V8dHJ1ZXxudWxsfFxcZCt8J1teJ10qJ3xcIlteXCJdKlwiKVxcXS8uZXhlYyhjKSlyZXR1cm4gayhjLnN1YnN0cigwLGEuaW5kZXgpKS5jb25jYXQoayhhWzFdKSkuY29uY2F0KGsoYy5zdWJzdHIoYS5pbmRleCthWzBdLmxlbmd0aCkpKTthPWMuc3BsaXQoXCIuXCIpO2lmKDE9PT1hLmxlbmd0aClyZXR1cm5bJ1wiJytjLnJlcGxhY2UoL1xcXFwvZyxcIlxcXFxcXFxcXCIpLnJlcGxhY2UoL1wiL2csJ1xcXFxcIicpKydcIiddO2M9W107Zm9yKGI9MDtiPGEubGVuZ3RoOysrYiljPWMuY29uY2F0KGsoYVtiXSkpO3JldHVybiBjfWZ1bmN0aW9uIHgoYyl7cmV0dXJuXCJbXCIrayhjKS5qb2luKFwiXVtcIikrXCJdXCJ9dmFyIHI9MDtwLmV4cG9ydHM9e0R5bmFtaWNWYXJpYWJsZTpsLGRlZmluZTpmdW5jdGlvbihjLGEpe3JldHVybiBuZXcgbChjLHgoYStcIlwiKSl9LGlzRHluYW1pYzpmdW5jdGlvbihjKXtyZXR1cm5cImZ1bmN0aW9uXCI9PT1cbnR5cGVvZiBjJiYhYy5fcmVnbFR5cGV8fGMgaW5zdGFuY2VvZiBsfSx1bmJveDpmdW5jdGlvbihjLGEpe3JldHVyblwiZnVuY3Rpb25cIj09PXR5cGVvZiBjP25ldyBsKDAsYyk6Y30sYWNjZXNzb3I6eH19LHt9XSw5OltmdW5jdGlvbihmLHAsdSl7dmFyIGw9ZihcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiKSxrPWYoXCIuL3V0aWwvaXMtbmRhcnJheVwiKSx4PWYoXCIuL3V0aWwvdmFsdWVzXCIpLHI9ZihcIi4vY29uc3RhbnRzL3ByaW1pdGl2ZXMuanNvblwiKSxjPWYoXCIuL2NvbnN0YW50cy91c2FnZS5qc29uXCIpO3AuZXhwb3J0cz1mdW5jdGlvbihhLGIsZixwKXtmdW5jdGlvbiB0KGEpe3RoaXMuaWQ9QysrO0VbdGhpcy5pZF09dGhpczt0aGlzLmJ1ZmZlcj1hO3RoaXMucHJpbVR5cGU9NDt0aGlzLnR5cGU9dGhpcy52ZXJ0Q291bnQ9MH1mdW5jdGlvbiB5KGMsZyxuLHIseCxoLHQpe2MuYnVmZmVyLmJpbmQoKTtpZihnKXt2YXIgeT10O3R8fGwoZykmJighayhnKXx8bChnLmRhdGEpKXx8KHk9Yi5vZXNfZWxlbWVudF9pbmRleF91aW50P1xuNTEyNTo1MTIzKTtmLl9pbml0QnVmZmVyKGMuYnVmZmVyLGcsbix5LDMpfWVsc2UgYS5idWZmZXJEYXRhKDM0OTYzLGgsbiksYy5idWZmZXIuZHR5cGU9eXx8NTEyMSxjLmJ1ZmZlci51c2FnZT1uLGMuYnVmZmVyLmRpbWVuc2lvbj0zLGMuYnVmZmVyLmJ5dGVMZW5ndGg9aDt5PXQ7aWYoIXQpe3N3aXRjaChjLmJ1ZmZlci5kdHlwZSl7Y2FzZSA1MTIxOmNhc2UgNTEyMDp5PTUxMjE7YnJlYWs7Y2FzZSA1MTIzOmNhc2UgNTEyMjp5PTUxMjM7YnJlYWs7Y2FzZSA1MTI1OmNhc2UgNTEyNDp5PTUxMjV9Yy5idWZmZXIuZHR5cGU9eX1jLnR5cGU9eTtnPXg7MD5nJiYoZz1jLmJ1ZmZlci5ieXRlTGVuZ3RoLDUxMjM9PT15P2c+Pj0xOjUxMjU9PT15JiYoZz4+PTIpKTtjLnZlcnRDb3VudD1nO2c9cjswPnImJihnPTQscj1jLmJ1ZmZlci5kaW1lbnNpb24sMT09PXImJihnPTApLDI9PT1yJiYoZz0xKSwzPT09ciYmKGc9NCkpO2MucHJpbVR5cGU9Z31mdW5jdGlvbiBnKGEpe3AuZWxlbWVudHNDb3VudC0tO1xuZGVsZXRlIEVbYS5pZF07YS5idWZmZXIuZGVzdHJveSgpO2EuYnVmZmVyPW51bGx9dmFyIEU9e30sQz0wLE49e3VpbnQ4OjUxMjEsdWludDE2OjUxMjN9O2Iub2VzX2VsZW1lbnRfaW5kZXhfdWludCYmKE4udWludDMyPTUxMjUpO3QucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmJ1ZmZlci5iaW5kKCl9O3ZhciBuPVtdO3JldHVybntjcmVhdGU6ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBuKGEpe2lmKGEpaWYoXCJudW1iZXJcIj09PXR5cGVvZiBhKXgoYSksQy5wcmltVHlwZT00LEMudmVydENvdW50PWF8MCxDLnR5cGU9NTEyMTtlbHNle3ZhciBiPW51bGwsZz0zNTA0NCxtPS0xLGY9LTEsdD0wLEI9MDtpZihBcnJheS5pc0FycmF5KGEpfHxsKGEpfHxrKGEpKWI9YTtlbHNlIGlmKFwiZGF0YVwiaW4gYSYmKGI9YS5kYXRhKSxcInVzYWdlXCJpbiBhJiYoZz1jW2EudXNhZ2VdKSxcInByaW1pdGl2ZVwiaW4gYSYmKG09clthLnByaW1pdGl2ZV0pLFwiY291bnRcImluIGEmJihmPWEuY291bnR8MCksXG5cInR5cGVcImluIGEmJihCPU5bYS50eXBlXSksXCJsZW5ndGhcImluIGEpdD1hLmxlbmd0aHwwO2Vsc2UgaWYodD1mLDUxMjM9PT1CfHw1MTIyPT09Qil0Kj0yO2Vsc2UgaWYoNTEyNT09PUJ8fDUxMjQ9PT1CKXQqPTQ7eShDLGIsZyxtLGYsdCxCKX1lbHNlIHgoKSxDLnByaW1UeXBlPTQsQy52ZXJ0Q291bnQ9MCxDLnR5cGU9NTEyMTtyZXR1cm4gbn12YXIgeD1mLmNyZWF0ZShudWxsLDM0OTYzLCEwKSxDPW5ldyB0KHguX2J1ZmZlcik7cC5lbGVtZW50c0NvdW50Kys7bihhKTtuLl9yZWdsVHlwZT1cImVsZW1lbnRzXCI7bi5fZWxlbWVudHM9QztuLnN1YmRhdGE9ZnVuY3Rpb24oYSxiKXt4LnN1YmRhdGEoYSxiKTtyZXR1cm4gbn07bi5kZXN0cm95PWZ1bmN0aW9uKCl7ZyhDKX07cmV0dXJuIG59LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbihhKXt2YXIgYj1uLnBvcCgpO2J8fChiPW5ldyB0KGYuY3JlYXRlKG51bGwsMzQ5NjMsITAsITEpLl9idWZmZXIpKTt5KGIsYSwzNTA0MCwtMSwtMSwwLDApO3JldHVybiBifSxcbmRlc3Ryb3lTdHJlYW06ZnVuY3Rpb24oYSl7bi5wdXNoKGEpfSxnZXRFbGVtZW50czpmdW5jdGlvbihhKXtyZXR1cm5cImZ1bmN0aW9uXCI9PT10eXBlb2YgYSYmYS5fZWxlbWVudHMgaW5zdGFuY2VvZiB0P2EuX2VsZW1lbnRzOm51bGx9LGNsZWFyOmZ1bmN0aW9uKCl7eChFKS5mb3JFYWNoKGcpfX19fSx7XCIuL2NvbnN0YW50cy9wcmltaXRpdmVzLmpzb25cIjo1LFwiLi9jb25zdGFudHMvdXNhZ2UuanNvblwiOjYsXCIuL3V0aWwvaXMtbmRhcnJheVwiOjI1LFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCI6MjYsXCIuL3V0aWwvdmFsdWVzXCI6MzF9XSwxMDpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1mdW5jdGlvbihmLGspe2Z1bmN0aW9uIHgoYSl7YT1hLnRvTG93ZXJDYXNlKCk7dmFyIGM7dHJ5e2M9clthXT1mLmdldEV4dGVuc2lvbihhKX1jYXRjaChrKXt9cmV0dXJuISFjfWZvcih2YXIgcj17fSxjPTA7YzxrLmV4dGVuc2lvbnMubGVuZ3RoOysrYyl7dmFyIGE9ay5leHRlbnNpb25zW2NdO2lmKCF4KGEpKXJldHVybiBrLm9uRGVzdHJveSgpLFxuay5vbkRvbmUoJ1wiJythKydcIiBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBXZWJHTCBjb250ZXh0LCB0cnkgdXBncmFkaW5nIHlvdXIgc3lzdGVtIG9yIGEgZGlmZmVyZW50IGJyb3dzZXInKSxudWxsfWsub3B0aW9uYWxFeHRlbnNpb25zLmZvckVhY2goeCk7cmV0dXJue2V4dGVuc2lvbnM6cixyZXN0b3JlOmZ1bmN0aW9uKCl7T2JqZWN0LmtleXMocikuZm9yRWFjaChmdW5jdGlvbihhKXtpZigheChhKSl0aHJvdyBFcnJvcihcIihyZWdsKTogZXJyb3IgcmVzdG9yaW5nIGV4dGVuc2lvbiBcIithKTt9KX19fX0se31dLDExOltmdW5jdGlvbihmLHAsdSl7dmFyIGw9ZihcIi4vdXRpbC92YWx1ZXNcIiksaz1mKFwiLi91dGlsL2V4dGVuZFwiKSx4PVtdO3hbNjQwOF09NDt2YXIgcj1bXTtyWzUxMjFdPTE7cls1MTI2XT00O3JbMzYxOTNdPTI7cC5leHBvcnRzPWZ1bmN0aW9uKGMsYSxiLGYscCx0KXtmdW5jdGlvbiB5KGEsYyxiKXt0aGlzLnRhcmdldD1hO3RoaXMudGV4dHVyZT1cbmM7dGhpcy5yZW5kZXJidWZmZXI9Yjt2YXIgaD1hPTA7Yz8oYT1jLndpZHRoLGg9Yy5oZWlnaHQpOmImJihhPWIud2lkdGgsaD1iLmhlaWdodCk7dGhpcy53aWR0aD1hO3RoaXMuaGVpZ2h0PWh9ZnVuY3Rpb24gZyhhKXthJiYoYS50ZXh0dXJlJiZhLnRleHR1cmUuX3RleHR1cmUuZGVjUmVmKCksYS5yZW5kZXJidWZmZXImJmEucmVuZGVyYnVmZmVyLl9yZW5kZXJidWZmZXIuZGVjUmVmKCkpfWZ1bmN0aW9uIEUoYSxjLGIpe2EmJihhLnRleHR1cmU/YS50ZXh0dXJlLl90ZXh0dXJlLnJlZkNvdW50Kz0xOmEucmVuZGVyYnVmZmVyLl9yZW5kZXJidWZmZXIucmVmQ291bnQrPTEpfWZ1bmN0aW9uIEMoYSxiKXtiJiYoYi50ZXh0dXJlP2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsYSxiLnRhcmdldCxiLnRleHR1cmUuX3RleHR1cmUudGV4dHVyZSwwKTpjLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLGEsMzYxNjEsYi5yZW5kZXJidWZmZXIuX3JlbmRlcmJ1ZmZlci5yZW5kZXJidWZmZXIpKX1cbmZ1bmN0aW9uIE4oYSl7dmFyIGI9MzU1MyxjPW51bGwsaD1udWxsLGc9YTtcIm9iamVjdFwiPT09dHlwZW9mIGEmJihnPWEuZGF0YSxcInRhcmdldFwiaW4gYSYmKGI9YS50YXJnZXR8MCkpO2E9Zy5fcmVnbFR5cGU7XCJ0ZXh0dXJlMmRcIj09PWE/Yz1nOlwidGV4dHVyZUN1YmVcIj09PWE/Yz1nOlwicmVuZGVyYnVmZmVyXCI9PT1hJiYoaD1nLGI9MzYxNjEpO3JldHVybiBuZXcgeShiLGMsaCl9ZnVuY3Rpb24gbihhLGIsYyxoLGcpe2lmKGMpcmV0dXJuIGE9Zi5jcmVhdGUyRCh7d2lkdGg6YSxoZWlnaHQ6Yixmb3JtYXQ6aCx0eXBlOmd9KSxhLl90ZXh0dXJlLnJlZkNvdW50PTAsbmV3IHkoMzU1MyxhLG51bGwpO2E9cC5jcmVhdGUoe3dpZHRoOmEsaGVpZ2h0OmIsZm9ybWF0Omh9KTthLl9yZW5kZXJidWZmZXIucmVmQ291bnQ9MDtyZXR1cm4gbmV3IHkoMzYxNjEsbnVsbCxhKX1mdW5jdGlvbiBtKGEpe3JldHVybiBhJiYoYS50ZXh0dXJlfHxhLnJlbmRlcmJ1ZmZlcil9ZnVuY3Rpb24gQihhLGIsYyl7YSYmXG4oYS50ZXh0dXJlP2EudGV4dHVyZS5yZXNpemUoYixjKTphLnJlbmRlcmJ1ZmZlciYmYS5yZW5kZXJidWZmZXIucmVzaXplKGIsYykpfWZ1bmN0aW9uIHUoKXt0aGlzLmlkPVorKztEW3RoaXMuaWRdPXRoaXM7dGhpcy5mcmFtZWJ1ZmZlcj1jLmNyZWF0ZUZyYW1lYnVmZmVyKCk7dGhpcy5oZWlnaHQ9dGhpcy53aWR0aD0wO3RoaXMuY29sb3JBdHRhY2htZW50cz1bXTt0aGlzLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ9dGhpcy5zdGVuY2lsQXR0YWNobWVudD10aGlzLmRlcHRoQXR0YWNobWVudD1udWxsfWZ1bmN0aW9uIEwoYSl7YS5jb2xvckF0dGFjaG1lbnRzLmZvckVhY2goZyk7ZyhhLmRlcHRoQXR0YWNobWVudCk7ZyhhLnN0ZW5jaWxBdHRhY2htZW50KTtnKGEuZGVwdGhTdGVuY2lsQXR0YWNobWVudCl9ZnVuY3Rpb24gSChhKXtjLmRlbGV0ZUZyYW1lYnVmZmVyKGEuZnJhbWVidWZmZXIpO2EuZnJhbWVidWZmZXI9bnVsbDt0LmZyYW1lYnVmZmVyQ291bnQtLTtkZWxldGUgRFthLmlkXX1cbmZ1bmN0aW9uIGgoYSl7dmFyIGg7Yy5iaW5kRnJhbWVidWZmZXIoMzYxNjAsYS5mcmFtZWJ1ZmZlcik7dmFyIGc9YS5jb2xvckF0dGFjaG1lbnRzO2ZvcihoPTA7aDxnLmxlbmd0aDsrK2gpQygzNjA2NCtoLGdbaF0pO2ZvcihoPWcubGVuZ3RoO2g8Yi5tYXhDb2xvckF0dGFjaG1lbnRzOysraCljLmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0K2gsMzU1MyxudWxsLDApO2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzMzMDYsMzU1MyxudWxsLDApO2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwOTYsMzU1MyxudWxsLDApO2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYxMjgsMzU1MyxudWxsLDApO0MoMzYwOTYsYS5kZXB0aEF0dGFjaG1lbnQpO0MoMzYxMjgsYS5zdGVuY2lsQXR0YWNobWVudCk7QygzMzMwNixhLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQpO2MuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cygzNjE2MCk7Yy5iaW5kRnJhbWVidWZmZXIoMzYxNjAsXG5LYS5uZXh0KTtLYS5jdXI9S2EubmV4dDtjLmdldEVycm9yKCl9ZnVuY3Rpb24gZmEoYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGssZj0wLGw9MCx0PSEwLHk9ITA7az1udWxsO3ZhciBCPSEwLEM9XCJyZ2JhXCIsRj1cInVpbnQ4XCIscD0xLE09bnVsbCxIPW51bGwsdT1udWxsLFk9ITE7aWYoXCJudW1iZXJcIj09PXR5cGVvZiBhKWY9YXwwLGw9YnwwfHxmO2Vsc2UgaWYoYSl7XCJzaGFwZVwiaW4gYT8obD1hLnNoYXBlLGY9bFswXSxsPWxbMV0pOihcInJhZGl1c1wiaW4gYSYmKGY9bD1hLnJhZGl1cyksXCJ3aWR0aFwiaW4gYSYmKGY9YS53aWR0aCksXCJoZWlnaHRcImluIGEmJihsPWEuaGVpZ2h0KSk7aWYoXCJjb2xvclwiaW4gYXx8XCJjb2xvcnNcImluIGEpaz1hLmNvbG9yfHxhLmNvbG9ycyxBcnJheS5pc0FycmF5KGspO2lmKCFrKXtcImNvbG9yQ291bnRcImluIGEmJihwPWEuY29sb3JDb3VudHwwKTtcImNvbG9yVGV4dHVyZVwiaW4gYSYmKEI9ISFhLmNvbG9yVGV4dHVyZSxDPVwicmdiYTRcIik7aWYoXCJjb2xvclR5cGVcImluXG5hJiYoRj1hLmNvbG9yVHlwZSwhQikpaWYoXCJoYWxmIGZsb2F0XCI9PT1GfHxcImZsb2F0MTZcIj09PUYpQz1cInJnYmExNmZcIjtlbHNlIGlmKFwiZmxvYXRcIj09PUZ8fFwiZmxvYXQzMlwiPT09RilDPVwicmdiYTMyZlwiO1wiY29sb3JGb3JtYXRcImluIGEmJihDPWEuY29sb3JGb3JtYXQsMDw9TGEuaW5kZXhPZihDKT9CPSEwOjA8PXphLmluZGV4T2YoQykmJihCPSExKSl9aWYoXCJkZXB0aFRleHR1cmVcImluIGF8fFwiZGVwdGhTdGVuY2lsVGV4dHVyZVwiaW4gYSlZPSEoIWEuZGVwdGhUZXh0dXJlJiYhYS5kZXB0aFN0ZW5jaWxUZXh0dXJlKTtcImRlcHRoXCJpbiBhJiYoXCJib29sZWFuXCI9PT10eXBlb2YgYS5kZXB0aD90PWEuZGVwdGg6KE09YS5kZXB0aCx5PSExKSk7XCJzdGVuY2lsXCJpbiBhJiYoXCJib29sZWFuXCI9PT10eXBlb2YgYS5zdGVuY2lsP3k9YS5zdGVuY2lsOihIPWEuc3RlbmNpbCx0PSExKSk7XCJkZXB0aFN0ZW5jaWxcImluIGEmJihcImJvb2xlYW5cIj09PXR5cGVvZiBhLmRlcHRoU3RlbmNpbD90PXk9YS5kZXB0aFN0ZW5jaWw6XG4odT1hLmRlcHRoU3RlbmNpbCx5PXQ9ITEpKX1lbHNlIGY9bD0xO3ZhciBEPW51bGwsZmE9bnVsbCxLPW51bGwsTz1udWxsO2lmKEFycmF5LmlzQXJyYXkoaykpRD1rLm1hcChOKTtlbHNlIGlmKGspRD1bTihrKV07ZWxzZSBmb3IoRD1BcnJheShwKSxrPTA7azxwOysraylEW2tdPW4oZixsLEIsQyxGKTtmPWZ8fERbMF0ud2lkdGg7bD1sfHxEWzBdLmhlaWdodDtNP2ZhPU4oTSk6dCYmIXkmJihmYT1uKGYsbCxZLFwiZGVwdGhcIixcInVpbnQzMlwiKSk7SD9LPU4oSCk6eSYmIXQmJihLPW4oZixsLCExLFwic3RlbmNpbFwiLFwidWludDhcIikpO3U/Tz1OKHUpOiFNJiYhSCYmeSYmdCYmKE89bihmLGwsWSxcImRlcHRoIHN0ZW5jaWxcIixcImRlcHRoIHN0ZW5jaWxcIikpO3Q9bnVsbDtmb3Ioaz0wO2s8RC5sZW5ndGg7KytrKUUoRFtrXSxmLGwpLERba10mJkRba10udGV4dHVyZSYmKHk9eFtEW2tdLnRleHR1cmUuX3RleHR1cmUuZm9ybWF0XSpyW0Rba10udGV4dHVyZS5fdGV4dHVyZS50eXBlXSxudWxsPT09XG50JiYodD15KSk7RShmYSxmLGwpO0UoSyxmLGwpO0UoTyxmLGwpO0woZyk7Zy53aWR0aD1mO2cuaGVpZ2h0PWw7Zy5jb2xvckF0dGFjaG1lbnRzPUQ7Zy5kZXB0aEF0dGFjaG1lbnQ9ZmE7Zy5zdGVuY2lsQXR0YWNobWVudD1LO2cuZGVwdGhTdGVuY2lsQXR0YWNobWVudD1PO2MuY29sb3I9RC5tYXAobSk7Yy5kZXB0aD1tKGZhKTtjLnN0ZW5jaWw9bShLKTtjLmRlcHRoU3RlbmNpbD1tKE8pO2Mud2lkdGg9Zy53aWR0aDtjLmhlaWdodD1nLmhlaWdodDtoKGcpO3JldHVybiBjfXZhciBnPW5ldyB1O3QuZnJhbWVidWZmZXJDb3VudCsrO2MoYSxiKTtyZXR1cm4gayhjLHtyZXNpemU6ZnVuY3Rpb24oYSxiKXt2YXIgaz1hfDAsZj1ifDB8fGs7aWYoaz09PWcud2lkdGgmJmY9PT1nLmhlaWdodClyZXR1cm4gYztmb3IodmFyIG09Zy5jb2xvckF0dGFjaG1lbnRzLGw9MDtsPG0ubGVuZ3RoOysrbClCKG1bbF0sayxmKTtCKGcuZGVwdGhBdHRhY2htZW50LGssZik7QihnLnN0ZW5jaWxBdHRhY2htZW50LFxuayxmKTtCKGcuZGVwdGhTdGVuY2lsQXR0YWNobWVudCxrLGYpO2cud2lkdGg9Yy53aWR0aD1rO2cuaGVpZ2h0PWMuaGVpZ2h0PWY7aChnKTtyZXR1cm4gY30sX3JlZ2xUeXBlOlwiZnJhbWVidWZmZXJcIixfZnJhbWVidWZmZXI6ZyxkZXN0cm95OmZ1bmN0aW9uKCl7SChnKTtMKGcpfX0pfXZhciBLYT17Y3VyOm51bGwsbmV4dDpudWxsLGRpcnR5OiExfSxMYT1bXCJyZ2JhXCJdLHphPVtcInJnYmE0XCIsXCJyZ2I1NjVcIixcInJnYjUgYTFcIl07YS5leHRfc3JnYiYmemEucHVzaChcInNyZ2JhXCIpO2EuZXh0X2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0JiZ6YS5wdXNoKFwicmdiYTE2ZlwiLFwicmdiMTZmXCIpO2Eud2ViZ2xfY29sb3JfYnVmZmVyX2Zsb2F0JiZ6YS5wdXNoKFwicmdiYTMyZlwiKTt2YXIgR2E9W1widWludDhcIl07YS5vZXNfdGV4dHVyZV9oYWxmX2Zsb2F0JiZHYS5wdXNoKFwiaGFsZiBmbG9hdFwiLFwiZmxvYXQxNlwiKTthLm9lc190ZXh0dXJlX2Zsb2F0JiZHYS5wdXNoKFwiZmxvYXRcIixcImZsb2F0MzJcIik7dmFyIFo9XG4wLEQ9e307cmV0dXJuIGsoS2Ese2dldEZyYW1lYnVmZmVyOmZ1bmN0aW9uKGEpe3JldHVyblwiZnVuY3Rpb25cIj09PXR5cGVvZiBhJiZcImZyYW1lYnVmZmVyXCI9PT1hLl9yZWdsVHlwZSYmKGE9YS5fZnJhbWVidWZmZXIsYSBpbnN0YW5jZW9mIHUpP2E6bnVsbH0sY3JlYXRlOmZhLGNyZWF0ZUN1YmU6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYyhhKXt2YXIgZyxoPXtjb2xvcjpudWxsfSxtPTAsbD1udWxsO2c9XCJyZ2JhXCI7dmFyIG49XCJ1aW50OFwiLHI9MTtpZihcIm51bWJlclwiPT09dHlwZW9mIGEpbT1hfDA7ZWxzZSBpZihhKXtcInNoYXBlXCJpbiBhP209YS5zaGFwZVswXTooXCJyYWRpdXNcImluIGEmJihtPWEucmFkaXVzfDApLFwid2lkdGhcImluIGE/bT1hLndpZHRofDA6XCJoZWlnaHRcImluIGEmJihtPWEuaGVpZ2h0fDApKTtpZihcImNvbG9yXCJpbiBhfHxcImNvbG9yc1wiaW4gYSlsPWEuY29sb3J8fGEuY29sb3JzLEFycmF5LmlzQXJyYXkobCk7bHx8KFwiY29sb3JDb3VudFwiaW4gYSYmKHI9YS5jb2xvckNvdW50fFxuMCksXCJjb2xvclR5cGVcImluIGEmJihuPWEuY29sb3JUeXBlKSxcImNvbG9yRm9ybWF0XCJpbiBhJiYoZz1hLmNvbG9yRm9ybWF0KSk7XCJkZXB0aFwiaW4gYSYmKGguZGVwdGg9YS5kZXB0aCk7XCJzdGVuY2lsXCJpbiBhJiYoaC5zdGVuY2lsPWEuc3RlbmNpbCk7XCJkZXB0aFN0ZW5jaWxcImluIGEmJihoLmRlcHRoU3RlbmNpbD1hLmRlcHRoU3RlbmNpbCl9ZWxzZSBtPTE7aWYobClpZihBcnJheS5pc0FycmF5KGwpKWZvcihhPVtdLGc9MDtnPGwubGVuZ3RoOysrZylhW2ddPWxbZ107ZWxzZSBhPVtsXTtlbHNlIGZvcihhPUFycmF5KHIpLGw9e3JhZGl1czptLGZvcm1hdDpnLHR5cGU6bn0sZz0wO2c8cjsrK2cpYVtnXT1mLmNyZWF0ZUN1YmUobCk7aC5jb2xvcj1BcnJheShhLmxlbmd0aCk7Zm9yKGc9MDtnPGEubGVuZ3RoOysrZylyPWFbZ10sbT1tfHxyLndpZHRoLGguY29sb3JbZ109e3RhcmdldDozNDA2OSxkYXRhOmFbZ119O2ZvcihnPTA7Nj5nOysrZyl7Zm9yKHI9MDtyPGEubGVuZ3RoOysrciloLmNvbG9yW3JdLnRhcmdldD1cbjM0MDY5K2c7MDxnJiYoaC5kZXB0aD1iWzBdLmRlcHRoLGguc3RlbmNpbD1iWzBdLnN0ZW5jaWwsaC5kZXB0aFN0ZW5jaWw9YlswXS5kZXB0aFN0ZW5jaWwpO2lmKGJbZ10pYltnXShoKTtlbHNlIGJbZ109ZmEoaCl9cmV0dXJuIGsoYyx7d2lkdGg6bSxoZWlnaHQ6bSxjb2xvcjphfSl9dmFyIGI9QXJyYXkoNik7YyhhKTtyZXR1cm4gayhjLHtmYWNlczpiLHJlc2l6ZTpmdW5jdGlvbihhKXt2YXIgZz1hfDA7aWYoZz09PWMud2lkdGgpcmV0dXJuIGM7dmFyIGg9Yy5jb2xvcjtmb3IoYT0wO2E8aC5sZW5ndGg7KythKWhbYV0ucmVzaXplKGcpO2ZvcihhPTA7Nj5hOysrYSliW2FdLnJlc2l6ZShnKTtjLndpZHRoPWMuaGVpZ2h0PWc7cmV0dXJuIGN9LF9yZWdsVHlwZTpcImZyYW1lYnVmZmVyQ3ViZVwiLGRlc3Ryb3k6ZnVuY3Rpb24oKXtiLmZvckVhY2goZnVuY3Rpb24oYSl7YS5kZXN0cm95KCl9KX19KX0sY2xlYXI6ZnVuY3Rpb24oKXtsKEQpLmZvckVhY2goSCl9LHJlc3RvcmU6ZnVuY3Rpb24oKXtsKEQpLmZvckVhY2goZnVuY3Rpb24oYSl7YS5mcmFtZWJ1ZmZlcj1cbmMuY3JlYXRlRnJhbWVidWZmZXIoKTtoKGEpfSl9fSl9fSx7XCIuL3V0aWwvZXh0ZW5kXCI6MjIsXCIuL3V0aWwvdmFsdWVzXCI6MzF9XSwxMjpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1mdW5jdGlvbihmLGspe3ZhciB4PTE7ay5leHRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMmJih4PWYuZ2V0UGFyYW1ldGVyKDM0MDQ3KSk7dmFyIHI9MSxjPTE7ay53ZWJnbF9kcmF3X2J1ZmZlcnMmJihyPWYuZ2V0UGFyYW1ldGVyKDM0ODUyKSxjPWYuZ2V0UGFyYW1ldGVyKDM2MDYzKSk7cmV0dXJue2NvbG9yQml0czpbZi5nZXRQYXJhbWV0ZXIoMzQxMCksZi5nZXRQYXJhbWV0ZXIoMzQxMSksZi5nZXRQYXJhbWV0ZXIoMzQxMiksZi5nZXRQYXJhbWV0ZXIoMzQxMyldLGRlcHRoQml0czpmLmdldFBhcmFtZXRlcigzNDE0KSxzdGVuY2lsQml0czpmLmdldFBhcmFtZXRlcigzNDE1KSxzdWJwaXhlbEJpdHM6Zi5nZXRQYXJhbWV0ZXIoMzQwOCksZXh0ZW5zaW9uczpPYmplY3Qua2V5cyhrKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuISFrW2FdfSksXG5tYXhBbmlzb3Ryb3BpYzp4LG1heERyYXdidWZmZXJzOnIsbWF4Q29sb3JBdHRhY2htZW50czpjLHBvaW50U2l6ZURpbXM6Zi5nZXRQYXJhbWV0ZXIoMzM5MDEpLGxpbmVXaWR0aERpbXM6Zi5nZXRQYXJhbWV0ZXIoMzM5MDIpLG1heFZpZXdwb3J0RGltczpmLmdldFBhcmFtZXRlcigzMzg2KSxtYXhDb21iaW5lZFRleHR1cmVVbml0czpmLmdldFBhcmFtZXRlcigzNTY2MSksbWF4Q3ViZU1hcFNpemU6Zi5nZXRQYXJhbWV0ZXIoMzQwNzYpLG1heFJlbmRlcmJ1ZmZlclNpemU6Zi5nZXRQYXJhbWV0ZXIoMzQwMjQpLG1heFRleHR1cmVVbml0czpmLmdldFBhcmFtZXRlcigzNDkzMCksbWF4VGV4dHVyZVNpemU6Zi5nZXRQYXJhbWV0ZXIoMzM3OSksbWF4QXR0cmlidXRlczpmLmdldFBhcmFtZXRlcigzNDkyMSksbWF4VmVydGV4VW5pZm9ybXM6Zi5nZXRQYXJhbWV0ZXIoMzYzNDcpLG1heFZlcnRleFRleHR1cmVVbml0czpmLmdldFBhcmFtZXRlcigzNTY2MCksbWF4VmFyeWluZ1ZlY3RvcnM6Zi5nZXRQYXJhbWV0ZXIoMzYzNDgpLFxubWF4RnJhZ21lbnRVbmlmb3JtczpmLmdldFBhcmFtZXRlcigzNjM0OSksZ2xzbDpmLmdldFBhcmFtZXRlcigzNTcyNCkscmVuZGVyZXI6Zi5nZXRQYXJhbWV0ZXIoNzkzNyksdmVuZG9yOmYuZ2V0UGFyYW1ldGVyKDc5MzYpLHZlcnNpb246Zi5nZXRQYXJhbWV0ZXIoNzkzOCl9fX0se31dLDEzOltmdW5jdGlvbihmLHAsdSl7dmFyIGw9ZihcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiKTtwLmV4cG9ydHM9ZnVuY3Rpb24oayxmLHIsYyxhLGIpe3JldHVybiBmdW5jdGlvbihhKXt2YXIgYjtiPW51bGw9PT1mLm5leHQ/NTEyMTpmLm5leHQuY29sb3JBdHRhY2htZW50c1swXS50ZXh0dXJlLl90ZXh0dXJlLnR5cGU7dmFyIHQ9MCx5PTAsZz1jLmZyYW1lYnVmZmVyV2lkdGgscD1jLmZyYW1lYnVmZmVySGVpZ2h0LEM9bnVsbDtsKGEpP0M9YTphJiYodD1hLnh8MCx5PWEueXwwLGc9KGEud2lkdGh8fGMuZnJhbWVidWZmZXJXaWR0aC10KXwwLHA9KGEuaGVpZ2h0fHxjLmZyYW1lYnVmZmVySGVpZ2h0LVxueSl8MCxDPWEuZGF0YXx8bnVsbCk7cigpO2E9ZypwKjQ7Q3x8KDUxMjE9PT1iP0M9bmV3IFVpbnQ4QXJyYXkoYSk6NTEyNj09PWImJihDPUN8fG5ldyBGbG9hdDMyQXJyYXkoYSkpKTtrLnBpeGVsU3RvcmVpKDMzMzMsNCk7ay5yZWFkUGl4ZWxzKHQseSxnLHAsNjQwOCxiLEMpO3JldHVybiBDfX19LHtcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiOjI2fV0sMTQ6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi91dGlsL3ZhbHVlc1wiKSxrPVtdO2tbMzI4NTRdPTI7a1szMjg1NV09MjtrWzM2MTk0XT0yO2tbMzMxODldPTI7a1szNjE2OF09MTtrWzM0MDQxXT00O2tbMzU5MDddPTQ7a1szNDgzNl09MTY7a1szNDg0Ml09ODtrWzM0ODQzXT02O3AuZXhwb3J0cz1mdW5jdGlvbihmLHIsYyxhLGIpe2Z1bmN0aW9uIHAoYSl7dGhpcy5pZD1nKys7dGhpcy5yZWZDb3VudD0xO3RoaXMucmVuZGVyYnVmZmVyPWE7dGhpcy5mb3JtYXQ9MzI4NTQ7dGhpcy5oZWlnaHQ9dGhpcy53aWR0aD0wO2IucHJvZmlsZSYmXG4odGhpcy5zdGF0cz17c2l6ZTowfSl9ZnVuY3Rpb24gTShiKXt2YXIgYz1iLnJlbmRlcmJ1ZmZlcjtmLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbnVsbCk7Zi5kZWxldGVSZW5kZXJidWZmZXIoYyk7Yi5yZW5kZXJidWZmZXI9bnVsbDtiLnJlZkNvdW50PTA7ZGVsZXRlIEVbYi5pZF07YS5yZW5kZXJidWZmZXJDb3VudC0tfXZhciB0PXtyZ2JhNDozMjg1NCxyZ2I1NjU6MzYxOTQsXCJyZ2I1IGExXCI6MzI4NTUsZGVwdGg6MzMxODksc3RlbmNpbDozNjE2OCxcImRlcHRoIHN0ZW5jaWxcIjozNDA0MX07ci5leHRfc3JnYiYmKHQuc3JnYmE9MzU5MDcpO3IuZXh0X2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0JiYodC5yZ2JhMTZmPTM0ODQyLHQucmdiMTZmPTM0ODQzKTtyLndlYmdsX2NvbG9yX2J1ZmZlcl9mbG9hdCYmKHQucmdiYTMyZj0zNDgzNik7dmFyIHk9W107T2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihhKXt5W3RbYV1dPWF9KTt2YXIgZz0wLEU9e307cC5wcm90b3R5cGUuZGVjUmVmPVxuZnVuY3Rpb24oKXswPj0tLXRoaXMucmVmQ291bnQmJk0odGhpcyl9O2IucHJvZmlsZSYmKGEuZ2V0VG90YWxSZW5kZXJidWZmZXJTaXplPWZ1bmN0aW9uKCl7dmFyIGE9MDtPYmplY3Qua2V5cyhFKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2ErPUVbYl0uc3RhdHMuc2l6ZX0pO3JldHVybiBhfSk7cmV0dXJue2NyZWF0ZTpmdW5jdGlvbihjLGcpe2Z1bmN0aW9uIG4oYSxjKXt2YXIgZz0wLGw9MCxoPTMyODU0O1wib2JqZWN0XCI9PT10eXBlb2YgYSYmYT8oXCJzaGFwZVwiaW4gYT8obD1hLnNoYXBlLGc9bFswXXwwLGw9bFsxXXwwKTooXCJyYWRpdXNcImluIGEmJihnPWw9YS5yYWRpdXN8MCksXCJ3aWR0aFwiaW4gYSYmKGc9YS53aWR0aHwwKSxcImhlaWdodFwiaW4gYSYmKGw9YS5oZWlnaHR8MCkpLFwiZm9ybWF0XCJpbiBhJiYoaD10W2EuZm9ybWF0XSkpOlwibnVtYmVyXCI9PT10eXBlb2YgYT8oZz1hfDAsbD1cIm51bWJlclwiPT09dHlwZW9mIGM/Y3wwOmcpOmF8fChnPWw9MSk7aWYoZyE9PW0ud2lkdGh8fGwhPT1cbm0uaGVpZ2h0fHxoIT09bS5mb3JtYXQpcmV0dXJuIG4ud2lkdGg9bS53aWR0aD1nLG4uaGVpZ2h0PW0uaGVpZ2h0PWwsbS5mb3JtYXQ9aCxmLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbS5yZW5kZXJidWZmZXIpLGYucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxoLGcsbCksYi5wcm9maWxlJiYobS5zdGF0cy5zaXplPWtbbS5mb3JtYXRdKm0ud2lkdGgqbS5oZWlnaHQpLG4uZm9ybWF0PXlbbS5mb3JtYXRdLG59dmFyIG09bmV3IHAoZi5jcmVhdGVSZW5kZXJidWZmZXIoKSk7RVttLmlkXT1tO2EucmVuZGVyYnVmZmVyQ291bnQrKztuKGMsZyk7bi5yZXNpemU9ZnVuY3Rpb24oYSxjKXt2YXIgZz1hfDAsbD1jfDB8fGc7aWYoZz09PW0ud2lkdGgmJmw9PT1tLmhlaWdodClyZXR1cm4gbjtuLndpZHRoPW0ud2lkdGg9ZztuLmhlaWdodD1tLmhlaWdodD1sO2YuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxtLnJlbmRlcmJ1ZmZlcik7Zi5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLG0uZm9ybWF0LFxuZyxsKTtiLnByb2ZpbGUmJihtLnN0YXRzLnNpemU9a1ttLmZvcm1hdF0qbS53aWR0aCptLmhlaWdodCk7cmV0dXJuIG59O24uX3JlZ2xUeXBlPVwicmVuZGVyYnVmZmVyXCI7bi5fcmVuZGVyYnVmZmVyPW07Yi5wcm9maWxlJiYobi5zdGF0cz1tLnN0YXRzKTtuLmRlc3Ryb3k9ZnVuY3Rpb24oKXttLmRlY1JlZigpfTtyZXR1cm4gbn0sY2xlYXI6ZnVuY3Rpb24oKXtsKEUpLmZvckVhY2goTSl9LHJlc3RvcmU6ZnVuY3Rpb24oKXtsKEUpLmZvckVhY2goZnVuY3Rpb24oYSl7YS5yZW5kZXJidWZmZXI9Zi5jcmVhdGVSZW5kZXJidWZmZXIoKTtmLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsYS5yZW5kZXJidWZmZXIpO2YucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxhLmZvcm1hdCxhLndpZHRoLGEuaGVpZ2h0KX0pO2YuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxudWxsKX19fX0se1wiLi91dGlsL3ZhbHVlc1wiOjMxfV0sMTU6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi91dGlsL3ZhbHVlc1wiKTtcbnAuZXhwb3J0cz1mdW5jdGlvbihmLHgscixjKXtmdW5jdGlvbiBhKGEsYyxiLGcpe3RoaXMubmFtZT1hO3RoaXMuaWQ9Yzt0aGlzLmxvY2F0aW9uPWI7dGhpcy5pbmZvPWd9ZnVuY3Rpb24gYihhLGMpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0uaWQ9PT1jLmlkKXthW2JdLmxvY2F0aW9uPWMubG9jYXRpb247cmV0dXJufWEucHVzaChjKX1mdW5jdGlvbiBwKGEsYyxiKXtiPTM1NjMyPT09YT95Omc7dmFyIGw9YltjXTtpZighbCl7dmFyIHI9eC5zdHIoYyksbD1mLmNyZWF0ZVNoYWRlcihhKTtmLnNoYWRlclNvdXJjZShsLHIpO2YuY29tcGlsZVNoYWRlcihsKTtiW2NdPWx9cmV0dXJuIGx9ZnVuY3Rpb24gTShhLGIpe3RoaXMuaWQ9dSsrO3RoaXMuZnJhZ0lkPWE7dGhpcy52ZXJ0SWQ9Yjt0aGlzLnByb2dyYW09bnVsbDt0aGlzLnVuaWZvcm1zPVtdO3RoaXMuYXR0cmlidXRlcz1bXTtjLnByb2ZpbGUmJih0aGlzLnN0YXRzPXt1bmlmb3Jtc0NvdW50OjAsYXR0cmlidXRlc0NvdW50OjB9KX1cbmZ1bmN0aW9uIHQoZyxtKXt2YXIgbCxyO2w9cCgzNTYzMixnLmZyYWdJZCk7cj1wKDM1NjMzLGcudmVydElkKTt2YXIgdD1nLnByb2dyYW09Zi5jcmVhdGVQcm9ncmFtKCk7Zi5hdHRhY2hTaGFkZXIodCxsKTtmLmF0dGFjaFNoYWRlcih0LHIpO2YubGlua1Byb2dyYW0odCk7dmFyIHk9Zi5nZXRQcm9ncmFtUGFyYW1ldGVyKHQsMzU3MTgpO2MucHJvZmlsZSYmKGcuc3RhdHMudW5pZm9ybXNDb3VudD15KTt2YXIgaD1nLnVuaWZvcm1zO2ZvcihsPTA7bDx5OysrbClpZihyPWYuZ2V0QWN0aXZlVW5pZm9ybSh0LGwpKWlmKDE8ci5zaXplKWZvcih2YXIgQz0wO0M8ci5zaXplOysrQyl7dmFyIEU9ci5uYW1lLnJlcGxhY2UoXCJbMF1cIixcIltcIitDK1wiXVwiKTtiKGgsbmV3IGEoRSx4LmlkKEUpLGYuZ2V0VW5pZm9ybUxvY2F0aW9uKHQsRSkscikpfWVsc2UgYihoLG5ldyBhKHIubmFtZSx4LmlkKHIubmFtZSksZi5nZXRVbmlmb3JtTG9jYXRpb24odCxyLm5hbWUpLHIpKTt5PWYuZ2V0UHJvZ3JhbVBhcmFtZXRlcih0LFxuMzU3MjEpO2MucHJvZmlsZSYmKGcuc3RhdHMuYXR0cmlidXRlc0NvdW50PXkpO2g9Zy5hdHRyaWJ1dGVzO2ZvcihsPTA7bDx5OysrbCkocj1mLmdldEFjdGl2ZUF0dHJpYih0LGwpKSYmYihoLG5ldyBhKHIubmFtZSx4LmlkKHIubmFtZSksZi5nZXRBdHRyaWJMb2NhdGlvbih0LHIubmFtZSkscikpfXZhciB5PXt9LGc9e30sRT17fSxDPVtdLHU9MDtjLnByb2ZpbGUmJihyLmdldE1heFVuaWZvcm1zQ291bnQ9ZnVuY3Rpb24oKXt2YXIgYT0wO0MuZm9yRWFjaChmdW5jdGlvbihiKXtiLnN0YXRzLnVuaWZvcm1zQ291bnQ+YSYmKGE9Yi5zdGF0cy51bmlmb3Jtc0NvdW50KX0pO3JldHVybiBhfSxyLmdldE1heEF0dHJpYnV0ZXNDb3VudD1mdW5jdGlvbigpe3ZhciBhPTA7Qy5mb3JFYWNoKGZ1bmN0aW9uKGIpe2Iuc3RhdHMuYXR0cmlidXRlc0NvdW50PmEmJihhPWIuc3RhdHMuYXR0cmlidXRlc0NvdW50KX0pO3JldHVybiBhfSk7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7dmFyIGE9Zi5kZWxldGVTaGFkZXIuYmluZChmKTtcbmwoeSkuZm9yRWFjaChhKTt5PXt9O2woZykuZm9yRWFjaChhKTtnPXt9O0MuZm9yRWFjaChmdW5jdGlvbihhKXtmLmRlbGV0ZVByb2dyYW0oYS5wcm9ncmFtKX0pO0MubGVuZ3RoPTA7RT17fTtyLnNoYWRlckNvdW50PTB9LHByb2dyYW06ZnVuY3Rpb24oYSxiLGMpe3Iuc2hhZGVyQ291bnQrKzt2YXIgZz1FW2JdO2d8fChnPUVbYl09e30pO3ZhciBmPWdbYV07Znx8KGY9bmV3IE0oYixhKSx0KGYsYyksZ1thXT1mLEMucHVzaChmKSk7cmV0dXJuIGZ9LHJlc3RvcmU6ZnVuY3Rpb24oKXt5PXt9O2c9e307Zm9yKHZhciBhPTA7YTxDLmxlbmd0aDsrK2EpdChDW2FdKX0sc2hhZGVyOnAsZnJhZzotMSx2ZXJ0Oi0xfX19LHtcIi4vdXRpbC92YWx1ZXNcIjozMX1dLDE2OltmdW5jdGlvbihmLHAsdSl7cC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJue2J1ZmZlckNvdW50OjAsZWxlbWVudHNDb3VudDowLGZyYW1lYnVmZmVyQ291bnQ6MCxzaGFkZXJDb3VudDowLHRleHR1cmVDb3VudDowLGN1YmVDb3VudDowLFxucmVuZGVyYnVmZmVyQ291bnQ6MCxtYXhUZXh0dXJlVW5pdHM6MH19fSx7fV0sMTc6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgZj17XCJcIjowfSxrPVtcIlwiXTtyZXR1cm57aWQ6ZnVuY3Rpb24oeCl7dmFyIHI9Zlt4XTtpZihyKXJldHVybiByO3I9Zlt4XT1rLmxlbmd0aDtrLnB1c2goeCk7cmV0dXJuIHJ9LHN0cjpmdW5jdGlvbihmKXtyZXR1cm4ga1tmXX19fX0se31dLDE4OltmdW5jdGlvbihmLHAsdSl7ZnVuY3Rpb24gbChhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKSYmKDA9PT1hLmxlbmd0aHx8XCJudW1iZXJcIj09PXR5cGVvZiBhWzBdKX1mdW5jdGlvbiBrKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpJiYwIT09YS5sZW5ndGgmJkUoYVswXSk/ITA6ITF9ZnVuY3Rpb24geChhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpfWZ1bmN0aW9uIHIoYSl7aWYoIWEpcmV0dXJuITE7dmFyIGI9eChhKTtyZXR1cm4gMDw9WS5pbmRleE9mKGIpP1xuITA6bChhKXx8ayhhKXx8dChhKX1mdW5jdGlvbiBjKGEsYil7MzYxOTM9PT1hLnR5cGU/KGEuZGF0YT1nKGIpLHkuZnJlZVR5cGUoYikpOmEuZGF0YT1ifWZ1bmN0aW9uIGEoYSxiLGMsZyxmLGspe2E9XCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBIW2FdP0hbYV06QlthXSpMW2JdO2smJihhKj02KTtpZihmKXtmb3IoZz0wOzE8PWM7KWcrPWEqYypjLGMvPTI7cmV0dXJuIGd9cmV0dXJuIGEqYypnfXZhciBiPWYoXCIuL3V0aWwvZXh0ZW5kXCIpLEY9ZihcIi4vdXRpbC92YWx1ZXNcIiksTT1mKFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCIpLHQ9ZihcIi4vdXRpbC9pcy1uZGFycmF5XCIpLHk9ZihcIi4vdXRpbC9wb29sXCIpLGc9ZihcIi4vdXRpbC90by1oYWxmLWZsb2F0XCIpLEU9ZihcIi4vdXRpbC9pcy1hcnJheS1saWtlXCIpLEM9ZihcIi4vdXRpbC9mbGF0dGVuXCIpO3U9ZihcIi4vY29uc3RhbnRzL2FycmF5dHlwZXMuanNvblwiKTt2YXIgTj1mKFwiLi9jb25zdGFudHMvYXJyYXl0eXBlcy5qc29uXCIpLG49Wzk5ODQsOTk4Nixcbjk5ODUsOTk4N10sbT1bMCw2NDA5LDY0MTAsNjQwNyw2NDA4XSxCPXt9O0JbNjQwOV09Qls2NDA2XT1CWzY0MDJdPTE7QlszNDA0MV09Qls2NDEwXT0yO0JbNjQwN109QlszNTkwNF09MztCWzY0MDhdPUJbMzU5MDZdPTQ7dmFyIFk9T2JqZWN0LmtleXModSkuY29uY2F0KFtcIltvYmplY3QgSFRNTENhbnZhc0VsZW1lbnRdXCIsXCJbb2JqZWN0IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRF1cIixcIltvYmplY3QgSFRNTEltYWdlRWxlbWVudF1cIixcIltvYmplY3QgSFRNTFZpZGVvRWxlbWVudF1cIl0pLEw9W107TFs1MTIxXT0xO0xbNTEyNl09NDtMWzM2MTkzXT0yO0xbNTEyM109MjtMWzUxMjVdPTQ7dmFyIEg9W107SFszMjg1NF09MjtIWzMyODU1XT0yO0hbMzYxOTRdPTI7SFszNDA0MV09NDtIWzMzNzc2XT0uNTtIWzMzNzc3XT0uNTtIWzMzNzc4XT0xO0hbMzM3NzldPTE7SFszNTk4Nl09LjU7SFszNTk4N109MTtIWzM0Nzk4XT0xO0hbMzU4NDBdPS41O0hbMzU4NDFdPS4yNTtIWzM1ODQyXT0uNTtcbkhbMzU4NDNdPS4yNTtIWzM2MTk2XT0uNTtwLmV4cG9ydHM9ZnVuY3Rpb24oaCxmLHAsdSxILEwsWil7ZnVuY3Rpb24gRCgpe3RoaXMuZm9ybWF0PXRoaXMuaW50ZXJuYWxmb3JtYXQ9NjQwODt0aGlzLnR5cGU9NTEyMTt0aGlzLmZsaXBZPXRoaXMucHJlbXVsdGlwbHlBbHBoYT10aGlzLmNvbXByZXNzZWQ9ITE7dGhpcy51bnBhY2tBbGlnbm1lbnQ9MTt0aGlzLmNoYW5uZWxzPXRoaXMuaGVpZ2h0PXRoaXMud2lkdGg9dGhpcy5jb2xvclNwYWNlPTB9ZnVuY3Rpb24gSyhhLGIpe2EuaW50ZXJuYWxmb3JtYXQ9Yi5pbnRlcm5hbGZvcm1hdDthLmZvcm1hdD1iLmZvcm1hdDthLnR5cGU9Yi50eXBlO2EuY29tcHJlc3NlZD1iLmNvbXByZXNzZWQ7YS5wcmVtdWx0aXBseUFscGhhPWIucHJlbXVsdGlwbHlBbHBoYTthLmZsaXBZPWIuZmxpcFk7YS51bnBhY2tBbGlnbm1lbnQ9Yi51bnBhY2tBbGlnbm1lbnQ7YS5jb2xvclNwYWNlPWIuY29sb3JTcGFjZTthLndpZHRoPWIud2lkdGg7YS5oZWlnaHQ9XG5iLmhlaWdodDthLmNoYW5uZWxzPWIuY2hhbm5lbHN9ZnVuY3Rpb24gWShhLGIpe2lmKFwib2JqZWN0XCI9PT10eXBlb2YgYiYmYil7XCJwcmVtdWx0aXBseUFscGhhXCJpbiBiJiYoYS5wcmVtdWx0aXBseUFscGhhPWIucHJlbXVsdGlwbHlBbHBoYSk7XCJmbGlwWVwiaW4gYiYmKGEuZmxpcFk9Yi5mbGlwWSk7XCJhbGlnbm1lbnRcImluIGImJihhLnVucGFja0FsaWdubWVudD1iLmFsaWdubWVudCk7XCJjb2xvclNwYWNlXCJpbiBiJiYoYS5jb2xvclNwYWNlPXBhW2IuY29sb3JTcGFjZV0pO1widHlwZVwiaW4gYiYmKGEudHlwZT1WW2IudHlwZV0pO3ZhciBjPWEud2lkdGgsZz1hLmhlaWdodCxoPWEuY2hhbm5lbHMsZj0hMTtcInNoYXBlXCJpbiBiPyhjPWIuc2hhcGVbMF0sZz1iLnNoYXBlWzFdLDM9PT1iLnNoYXBlLmxlbmd0aCYmKGg9Yi5zaGFwZVsyXSxmPSEwKSk6KFwicmFkaXVzXCJpbiBiJiYoYz1nPWIucmFkaXVzKSxcIndpZHRoXCJpbiBiJiYoYz1iLndpZHRoKSxcImhlaWdodFwiaW4gYiYmKGc9Yi5oZWlnaHQpLFxuXCJjaGFubmVsc1wiaW4gYiYmKGg9Yi5jaGFubmVscyxmPSEwKSk7YS53aWR0aD1jfDA7YS5oZWlnaHQ9Z3wwO2EuY2hhbm5lbHM9aHwwO2M9ITE7XCJmb3JtYXRcImluIGImJihjPWIuZm9ybWF0LGc9YS5pbnRlcm5hbGZvcm1hdD1YW2NdLGEuZm9ybWF0PVBhW2ddLGMgaW4gViYmIShcInR5cGVcImluIGIpJiYoYS50eXBlPVZbY10pLGMgaW4gVCYmKGEuY29tcHJlc3NlZD0hMCksYz0hMCk7IWYmJmM/YS5jaGFubmVscz1CW2EuZm9ybWF0XTpmJiYhYyYmYS5jaGFubmVscyE9PW1bYS5mb3JtYXRdJiYoYS5mb3JtYXQ9YS5pbnRlcm5hbGZvcm1hdD1tW2EuY2hhbm5lbHNdKX19ZnVuY3Rpb24gdmEoYSl7aC5waXhlbFN0b3JlaSgzNzQ0MCxhLmZsaXBZKTtoLnBpeGVsU3RvcmVpKDM3NDQxLGEucHJlbXVsdGlwbHlBbHBoYSk7aC5waXhlbFN0b3JlaSgzNzQ0MyxhLmNvbG9yU3BhY2UpO2gucGl4ZWxTdG9yZWkoMzMxNyxhLnVucGFja0FsaWdubWVudCl9ZnVuY3Rpb24gcSgpe0QuY2FsbCh0aGlzKTtcbnRoaXMueU9mZnNldD10aGlzLnhPZmZzZXQ9MDt0aGlzLmRhdGE9bnVsbDt0aGlzLm5lZWRzRnJlZT0hMTt0aGlzLmVsZW1lbnQ9bnVsbDt0aGlzLm5lZWRzQ29weT0hMX1mdW5jdGlvbiBTKGEsYil7dmFyIGg9bnVsbDtyKGIpP2g9YjpiJiYoWShhLGIpLFwieFwiaW4gYiYmKGEueE9mZnNldD1iLnh8MCksXCJ5XCJpbiBiJiYoYS55T2Zmc2V0PWIueXwwKSxyKGIuZGF0YSkmJihoPWIuZGF0YSkpO2lmKGIuY29weSl7dmFyIGY9SC52aWV3cG9ydFdpZHRoLG49SC52aWV3cG9ydEhlaWdodDthLndpZHRoPWEud2lkdGh8fGYtYS54T2Zmc2V0O2EuaGVpZ2h0PWEuaGVpZ2h0fHxuLWEueU9mZnNldDthLm5lZWRzQ29weT0hMH1lbHNlIGlmKCFoKWEud2lkdGg9YS53aWR0aHx8MSxhLmhlaWdodD1hLmhlaWdodHx8MSxhLmNoYW5uZWxzPWEuY2hhbm5lbHN8fDQ7ZWxzZSBpZihNKGgpKWEuY2hhbm5lbHM9YS5jaGFubmVsc3x8NCxhLmRhdGE9aCxcInR5cGVcImluIGJ8fDUxMjEhPT1hLnR5cGV8fChhLnR5cGU9XG5OW09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChoKV18MCk7ZWxzZSBpZihsKGgpKXthLmNoYW5uZWxzPWEuY2hhbm5lbHN8fDQ7Zj1oO249Zi5sZW5ndGg7c3dpdGNoKGEudHlwZSl7Y2FzZSA1MTIxOmNhc2UgNTEyMzpjYXNlIDUxMjU6Y2FzZSA1MTI2Om49eS5hbGxvY1R5cGUoYS50eXBlLG4pO24uc2V0KGYpO2EuZGF0YT1uO2JyZWFrO2Nhc2UgMzYxOTM6YS5kYXRhPWcoZil9YS5hbGlnbm1lbnQ9MTthLm5lZWRzRnJlZT0hMH1lbHNlIGlmKHQoaCkpe2Y9aC5kYXRhO0FycmF5LmlzQXJyYXkoZil8fDUxMjEhPT1hLnR5cGV8fChhLnR5cGU9TltPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZildfDApO3ZhciBuPWguc2hhcGUscT1oLnN0cmlkZSxwLEYsZCx2OzM9PT1uLmxlbmd0aD8oZD1uWzJdLHY9cVsyXSk6dj1kPTE7cD1uWzBdO0Y9blsxXTtuPXFbMF07cT1xWzFdO2EuYWxpZ25tZW50PTE7YS53aWR0aD1wO2EuaGVpZ2h0PUY7YS5jaGFubmVscz1kO2EuZm9ybWF0PVxuYS5pbnRlcm5hbGZvcm1hdD1tW2RdO2EubmVlZHNGcmVlPSEwO3A9djtoPWgub2Zmc2V0O2Q9YS53aWR0aDt2PWEuaGVpZ2h0O0Y9YS5jaGFubmVscztmb3IodmFyIHU9eS5hbGxvY1R5cGUoMzYxOTM9PT1hLnR5cGU/NTEyNjphLnR5cGUsZCp2KkYpLEI9MCxBPTA7QTx2OysrQSlmb3IodmFyIEQ9MDtEPGQ7KytEKWZvcih2YXIgdWE9MDt1YTxGOysrdWEpdVtCKytdPWZbbipEK3EqQStwKnVhK2hdO2MoYSx1KX1lbHNlIGlmKFwiW29iamVjdCBIVE1MQ2FudmFzRWxlbWVudF1cIj09PXgoaCl8fFwiW29iamVjdCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRdXCI9PT14KGgpKVwiW29iamVjdCBIVE1MQ2FudmFzRWxlbWVudF1cIj09PXgoaCk/YS5lbGVtZW50PWg6YS5lbGVtZW50PWguY2FudmFzLGEud2lkdGg9YS5lbGVtZW50LndpZHRoLGEuaGVpZ2h0PWEuZWxlbWVudC5oZWlnaHQsYS5jaGFubmVscz00O2Vsc2UgaWYoXCJbb2JqZWN0IEhUTUxJbWFnZUVsZW1lbnRdXCI9PT14KGgpKWEuZWxlbWVudD1cbmgsYS53aWR0aD1oLm5hdHVyYWxXaWR0aCxhLmhlaWdodD1oLm5hdHVyYWxIZWlnaHQsYS5jaGFubmVscz00O2Vsc2UgaWYoXCJbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdXCI9PT14KGgpKWEuZWxlbWVudD1oLGEud2lkdGg9aC52aWRlb1dpZHRoLGEuaGVpZ2h0PWgudmlkZW9IZWlnaHQsYS5jaGFubmVscz00O2Vsc2UgaWYoayhoKSl7Zj1hLndpZHRofHxoWzBdLmxlbmd0aDtuPWEuaGVpZ2h0fHxoLmxlbmd0aDtxPWEuY2hhbm5lbHM7cT1FKGhbMF1bMF0pP3F8fGhbMF1bMF0ubGVuZ3RoOnF8fDE7cD1DLnNoYXBlKGgpO2Q9MTtmb3Iodj0wO3Y8cC5sZW5ndGg7Kyt2KWQqPXBbdl07ZD15LmFsbG9jVHlwZSgzNjE5Mz09PWEudHlwZT81MTI2OmEudHlwZSxkKTtDLmZsYXR0ZW4oaCxwLFwiXCIsZCk7YyhhLGQpO2EuYWxpZ25tZW50PTE7YS53aWR0aD1mO2EuaGVpZ2h0PW47YS5jaGFubmVscz1xO2EuZm9ybWF0PWEuaW50ZXJuYWxmb3JtYXQ9bVtxXTthLm5lZWRzRnJlZT0hMH19ZnVuY3Rpb24gbWEoYSxcbmIsYyxnLGYpe3ZhciBrPWEuZWxlbWVudCxsPWEuZGF0YSxtPWEuaW50ZXJuYWxmb3JtYXQsZD1hLmZvcm1hdCxyPWEudHlwZSxuPWEud2lkdGgscT1hLmhlaWdodDt2YShhKTtrP2gudGV4U3ViSW1hZ2UyRChiLGYsYyxnLGQscixrKTphLmNvbXByZXNzZWQ/aC5jb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChiLGYsYyxnLG0sbixxLGwpOmEubmVlZHNDb3B5Pyh1KCksaC5jb3B5VGV4U3ViSW1hZ2UyRChiLGYsYyxnLGEueE9mZnNldCxhLnlPZmZzZXQsbixxKSk6aC50ZXhTdWJJbWFnZTJEKGIsZixjLGcsbixxLGQscixsKX1mdW5jdGlvbiBnYSgpe3JldHVybiBOYS5wb3AoKXx8bmV3IHF9ZnVuY3Rpb24gVyhhKXthLm5lZWRzRnJlZSYmeS5mcmVlVHlwZShhLmRhdGEpO3EuY2FsbChhKTtOYS5wdXNoKGEpfWZ1bmN0aW9uIFIoKXtELmNhbGwodGhpcyk7dGhpcy5nZW5NaXBtYXBzPSExO3RoaXMubWlwbWFwSGludD00MzUyO3RoaXMubWlwbWFzaz0wO3RoaXMuaW1hZ2VzPUFycmF5KDE2KX1cbmZ1bmN0aW9uIEcoYSxiLGMpe3ZhciBnPWEuaW1hZ2VzWzBdPWdhKCk7YS5taXBtYXNrPTE7Zy53aWR0aD1hLndpZHRoPWI7Zy5oZWlnaHQ9YS5oZWlnaHQ9YztnLmNoYW5uZWxzPWEuY2hhbm5lbHM9NH1mdW5jdGlvbiBiYShhLGIpe3ZhciBjPW51bGw7aWYocihiKSljPWEuaW1hZ2VzWzBdPWdhKCksSyhjLGEpLFMoYyxiKSxhLm1pcG1hc2s9MTtlbHNlIGlmKFkoYSxiKSxBcnJheS5pc0FycmF5KGIubWlwbWFwKSlmb3IodmFyIGc9Yi5taXBtYXAsaD0wO2g8Zy5sZW5ndGg7KytoKWM9YS5pbWFnZXNbaF09Z2EoKSxLKGMsYSksYy53aWR0aD4+PWgsYy5oZWlnaHQ+Pj1oLFMoYyxnW2hdKSxhLm1pcG1hc2t8PTE8PGg7ZWxzZSBjPWEuaW1hZ2VzWzBdPWdhKCksSyhjLGEpLFMoYyxiKSxhLm1pcG1hc2s9MTtLKGEsYS5pbWFnZXNbMF0pfWZ1bmN0aW9uIG5hKGEsYil7Zm9yKHZhciBjPWEuaW1hZ2VzLGc9MDtnPGMubGVuZ3RoJiZjW2ddOysrZyl7dmFyIGY9Y1tnXSxrPWIsbD1nLG09Zi5lbGVtZW50LFxuZD1mLmRhdGEscj1mLmludGVybmFsZm9ybWF0LG49Zi5mb3JtYXQscT1mLnR5cGUsdD1mLndpZHRoLHk9Zi5oZWlnaHQ7dmEoZik7bT9oLnRleEltYWdlMkQoayxsLG4sbixxLG0pOmYuY29tcHJlc3NlZD9oLmNvbXByZXNzZWRUZXhJbWFnZTJEKGssbCxyLHQseSwwLGQpOmYubmVlZHNDb3B5Pyh1KCksaC5jb3B5VGV4SW1hZ2UyRChrLGwsbixmLnhPZmZzZXQsZi55T2Zmc2V0LHQseSwwKSk6aC50ZXhJbWFnZTJEKGssbCxuLHQseSwwLG4scSxkKX19ZnVuY3Rpb24geWEoKXt2YXIgYT1KYS5wb3AoKXx8bmV3IFI7RC5jYWxsKGEpO2Zvcih2YXIgYj1hLm1pcG1hc2s9MDsxNj5iOysrYilhLmltYWdlc1tiXT1udWxsO3JldHVybiBhfWZ1bmN0aW9uIFUoYSl7Zm9yKHZhciBiPWEuaW1hZ2VzLGM9MDtjPGIubGVuZ3RoOysrYyliW2NdJiZXKGJbY10pLGJbY109bnVsbDtKYS5wdXNoKGEpfWZ1bmN0aW9uIGlhKCl7dGhpcy5tYWdGaWx0ZXI9dGhpcy5taW5GaWx0ZXI9OTcyODt0aGlzLndyYXBUPVxudGhpcy53cmFwUz0zMzA3MTt0aGlzLmFuaXNvdHJvcGljPTE7dGhpcy5nZW5NaXBtYXBzPSExO3RoaXMubWlwbWFwSGludD00MzUyfWZ1bmN0aW9uIGthKGEsYil7XCJtaW5cImluIGImJihhLm1pbkZpbHRlcj1RW2IubWluXSwwPD1uLmluZGV4T2YoYS5taW5GaWx0ZXIpJiYoYS5nZW5NaXBtYXBzPSEwKSk7XCJtYWdcImluIGImJihhLm1hZ0ZpbHRlcj1oYVtiLm1hZ10pO3ZhciBjPWEud3JhcFMsZz1hLndyYXBUO2lmKFwid3JhcFwiaW4gYil7dmFyIGg9Yi53cmFwO1wic3RyaW5nXCI9PT10eXBlb2YgaD9jPWc9T1toXTpBcnJheS5pc0FycmF5KGgpJiYoYz1PW2hbMF1dLGc9T1toWzFdXSl9ZWxzZVwid3JhcFNcImluIGImJihjPU9bYi53cmFwU10pLFwid3JhcFRcImluIGImJihnPU9bYi53cmFwVF0pO2Eud3JhcFM9YzthLndyYXBUPWc7XCJhbmlzb3Ryb3BpY1wiaW4gYiYmKGEuYW5pc290cm9waWM9Yi5hbmlzb3Ryb3BpYyk7aWYoXCJtaXBtYXBcImluIGIpe2M9ITE7c3dpdGNoKHR5cGVvZiBiLm1pcG1hcCl7Y2FzZSBcInN0cmluZ1wiOmEubWlwbWFwSGludD1cbmVhW2IubWlwbWFwXTtjPWEuZ2VuTWlwbWFwcz0hMDticmVhaztjYXNlIFwiYm9vbGVhblwiOmM9YS5nZW5NaXBtYXBzPWIubWlwbWFwO2JyZWFrO2Nhc2UgXCJvYmplY3RcIjphLmdlbk1pcG1hcHM9ITEsYz0hMH0hY3x8XCJtaW5cImluIGJ8fChhLm1pbkZpbHRlcj05OTg0KX19ZnVuY3Rpb24gcmEoYSxiKXtoLnRleFBhcmFtZXRlcmkoYiwxMDI0MSxhLm1pbkZpbHRlcik7aC50ZXhQYXJhbWV0ZXJpKGIsMTAyNDAsYS5tYWdGaWx0ZXIpO2gudGV4UGFyYW1ldGVyaShiLDEwMjQyLGEud3JhcFMpO2gudGV4UGFyYW1ldGVyaShiLDEwMjQzLGEud3JhcFQpO2YuZXh0X3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljJiZoLnRleFBhcmFtZXRlcmkoYiwzNDA0NixhLmFuaXNvdHJvcGljKTthLmdlbk1pcG1hcHMmJihoLmhpbnQoMzMxNzAsYS5taXBtYXBIaW50KSxoLmdlbmVyYXRlTWlwbWFwKGIpKX1mdW5jdGlvbiBzYShhKXtELmNhbGwodGhpcyk7dGhpcy5taXBtYXNrPTA7dGhpcy5pbnRlcm5hbGZvcm1hdD1cbjY0MDg7dGhpcy5pZD1CYSsrO3RoaXMucmVmQ291bnQ9MTt0aGlzLnRhcmdldD1hO3RoaXMudGV4dHVyZT1oLmNyZWF0ZVRleHR1cmUoKTt0aGlzLnVuaXQ9LTE7dGhpcy5iaW5kQ291bnQ9MDt0aGlzLnRleEluZm89bmV3IGlhO1oucHJvZmlsZSYmKHRoaXMuc3RhdHM9e3NpemU6MH0pfWZ1bmN0aW9uIGRhKGEpe2guYWN0aXZlVGV4dHVyZSgzMzk4NCk7aC5iaW5kVGV4dHVyZShhLnRhcmdldCxhLnRleHR1cmUpfWZ1bmN0aW9uIGphKCl7dmFyIGE9b2FbMF07YT9oLmJpbmRUZXh0dXJlKGEudGFyZ2V0LGEudGV4dHVyZSk6aC5iaW5kVGV4dHVyZSgzNTUzLG51bGwpfWZ1bmN0aW9uIGxhKGEpe3ZhciBiPWEudGV4dHVyZSxjPWEudW5pdCxnPWEudGFyZ2V0OzA8PWMmJihoLmFjdGl2ZVRleHR1cmUoMzM5ODQrYyksaC5iaW5kVGV4dHVyZShnLG51bGwpLG9hW2NdPW51bGwpO2guZGVsZXRlVGV4dHVyZShiKTthLnRleHR1cmU9bnVsbDthLnBhcmFtcz1udWxsO2EucGl4ZWxzPW51bGw7YS5yZWZDb3VudD1cbjA7ZGVsZXRlIGNhW2EuaWRdO0wudGV4dHVyZUNvdW50LS19dmFyIGVhPXtcImRvbid0IGNhcmVcIjo0MzUyLFwiZG9udCBjYXJlXCI6NDM1MixuaWNlOjQzNTQsZmFzdDo0MzUzfSxPPXtyZXBlYXQ6MTA0OTcsY2xhbXA6MzMwNzEsbWlycm9yOjMzNjQ4fSxoYT17bmVhcmVzdDo5NzI4LGxpbmVhcjo5NzI5fSxRPWIoe21pcG1hcDo5OTg3LFwibmVhcmVzdCBtaXBtYXAgbmVhcmVzdFwiOjk5ODQsXCJsaW5lYXIgbWlwbWFwIG5lYXJlc3RcIjo5OTg1LFwibmVhcmVzdCBtaXBtYXAgbGluZWFyXCI6OTk4NixcImxpbmVhciBtaXBtYXAgbGluZWFyXCI6OTk4N30saGEpLHBhPXtub25lOjAsYnJvd3NlcjozNzQ0NH0sVj17dWludDg6NTEyMSxyZ2JhNDozMjgxOSxyZ2I1NjU6MzM2MzUsXCJyZ2I1IGExXCI6MzI4MjB9LFg9e2FscGhhOjY0MDYsbHVtaW5hbmNlOjY0MDksXCJsdW1pbmFuY2UgYWxwaGFcIjo2NDEwLHJnYjo2NDA3LHJnYmE6NjQwOCxyZ2JhNDozMjg1NCxcInJnYjUgYTFcIjozMjg1NSxyZ2I1NjU6MzYxOTR9LFxuVD17fTtmLmV4dF9zcmdiJiYoWC5zcmdiPTM1OTA0LFguc3JnYmE9MzU5MDYpO2Yub2VzX3RleHR1cmVfZmxvYXQmJihWLmZsb2F0MzI9VltcImZsb2F0XCJdPTUxMjYpO2Yub2VzX3RleHR1cmVfaGFsZl9mbG9hdCYmKFYuZmxvYXQxNj1WW1wiaGFsZiBmbG9hdFwiXT0zNjE5Myk7Zi53ZWJnbF9kZXB0aF90ZXh0dXJlJiYoYihYLHtkZXB0aDo2NDAyLFwiZGVwdGggc3RlbmNpbFwiOjM0MDQxfSksYihWLHt1aW50MTY6NTEyMyx1aW50MzI6NTEyNSxcImRlcHRoIHN0ZW5jaWxcIjozNDA0Mn0pKTtmLndlYmdsX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjJiZiKFQse1wicmdiIHMzdGMgZHh0MVwiOjMzNzc2LFwicmdiYSBzM3RjIGR4dDFcIjozMzc3NyxcInJnYmEgczN0YyBkeHQzXCI6MzM3NzgsXCJyZ2JhIHMzdGMgZHh0NVwiOjMzNzc5fSk7Zi53ZWJnbF9jb21wcmVzc2VkX3RleHR1cmVfYXRjJiZiKFQse1wicmdiIGF0Y1wiOjM1OTg2LFwicmdiYSBhdGMgZXhwbGljaXQgYWxwaGFcIjozNTk4NyxcInJnYmEgYXRjIGludGVycG9sYXRlZCBhbHBoYVwiOjM0Nzk4fSk7XG5mLndlYmdsX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyYmYihULHtcInJnYiBwdnJ0YyA0YnBwdjFcIjozNTg0MCxcInJnYiBwdnJ0YyAyYnBwdjFcIjozNTg0MSxcInJnYmEgcHZydGMgNGJwcHYxXCI6MzU4NDIsXCJyZ2JhIHB2cnRjIDJicHB2MVwiOjM1ODQzfSk7Zi53ZWJnbF9jb21wcmVzc2VkX3RleHR1cmVfZXRjMSYmKFRbXCJyZ2IgZXRjMVwiXT0zNjE5Nik7dmFyIHVhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGguZ2V0UGFyYW1ldGVyKDM0NDY3KSk7T2JqZWN0LmtleXMoVCkuZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgYj1UW2FdOzA8PXVhLmluZGV4T2YoYikmJihYW2FdPWIpfSk7dmFyIEVhPU9iamVjdC5rZXlzKFgpO3AudGV4dHVyZUZvcm1hdHM9RWE7dmFyIEZhPVtdO09iamVjdC5rZXlzKFgpLmZvckVhY2goZnVuY3Rpb24oYSl7RmFbWFthXV09YX0pO3ZhciBIYT1bXTtPYmplY3Qua2V5cyhWKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe0hhW1ZbYV1dPWF9KTt2YXIgSWE9W107T2JqZWN0LmtleXMoaGEpLmZvckVhY2goZnVuY3Rpb24oYSl7SWFbaGFbYV1dPVxuYX0pO3ZhciBDYT1bXTtPYmplY3Qua2V5cyhRKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe0NhW1FbYV1dPWF9KTt2YXIgRGE9W107T2JqZWN0LmtleXMoTykuZm9yRWFjaChmdW5jdGlvbihhKXtEYVtPW2FdXT1hfSk7dmFyIFBhPUVhLnJlZHVjZShmdW5jdGlvbihhLGIpe3ZhciBjPVhbYl07NjQwOT09PWN8fDY0MDY9PT1jfHw2NDA5PT09Y3x8NjQxMD09PWN8fDY0MDI9PT1jfHwzNDA0MT09PWM/YVtjXT1jOjMyODU1PT09Y3x8MDw9Yi5pbmRleE9mKFwicmdiYVwiKT9hW2NdPTY0MDg6YVtjXT02NDA3O3JldHVybiBhfSx7fSksTmE9W10sSmE9W10sQmE9MCxjYT17fSx0YT1wLm1heFRleHR1cmVVbml0cyxvYT1BcnJheSh0YSkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KTtiKHNhLnByb3RvdHlwZSx7YmluZDpmdW5jdGlvbigpe3RoaXMuYmluZENvdW50Kz0xO3ZhciBhPXRoaXMudW5pdDtpZigwPmEpe2Zvcih2YXIgYj0wO2I8dGE7KytiKXt2YXIgYz1vYVtiXTtpZihjKXtpZigwPGMuYmluZENvdW50KWNvbnRpbnVlO1xuYy51bml0PS0xfW9hW2JdPXRoaXM7YT1iO2JyZWFrfVoucHJvZmlsZSYmTC5tYXhUZXh0dXJlVW5pdHM8YSsxJiYoTC5tYXhUZXh0dXJlVW5pdHM9YSsxKTt0aGlzLnVuaXQ9YTtoLmFjdGl2ZVRleHR1cmUoMzM5ODQrYSk7aC5iaW5kVGV4dHVyZSh0aGlzLnRhcmdldCx0aGlzLnRleHR1cmUpfXJldHVybiBhfSx1bmJpbmQ6ZnVuY3Rpb24oKXstLXRoaXMuYmluZENvdW50fSxkZWNSZWY6ZnVuY3Rpb24oKXswPj0tLXRoaXMucmVmQ291bnQmJmxhKHRoaXMpfX0pO1oucHJvZmlsZSYmKEwuZ2V0VG90YWxUZXh0dXJlU2l6ZT1mdW5jdGlvbigpe3ZhciBhPTA7T2JqZWN0LmtleXMoY2EpLmZvckVhY2goZnVuY3Rpb24oYil7YSs9Y2FbYl0uc3RhdHMuc2l6ZX0pO3JldHVybiBhfSk7cmV0dXJue2NyZWF0ZTJEOmZ1bmN0aW9uKGIsYyl7ZnVuY3Rpb24gZyhiLGMpe3ZhciBlPWYudGV4SW5mbztpYS5jYWxsKGUpO3ZhciBoPXlhKCk7XCJudW1iZXJcIj09PXR5cGVvZiBiP1wibnVtYmVyXCI9PT10eXBlb2YgYz9cbkcoaCxifDAsY3wwKTpHKGgsYnwwLGJ8MCk6Yj8oa2EoZSxiKSxiYShoLGIpKTpHKGgsMSwxKTtlLmdlbk1pcG1hcHMmJihoLm1pcG1hc2s9KGgud2lkdGg8PDEpLTEpO2YubWlwbWFzaz1oLm1pcG1hc2s7SyhmLGgpO2YuaW50ZXJuYWxmb3JtYXQ9aC5pbnRlcm5hbGZvcm1hdDtnLndpZHRoPWgud2lkdGg7Zy5oZWlnaHQ9aC5oZWlnaHQ7ZGEoZik7bmEoaCwzNTUzKTtyYShlLDM1NTMpO2phKCk7VShoKTtaLnByb2ZpbGUmJihmLnN0YXRzLnNpemU9YShmLmludGVybmFsZm9ybWF0LGYudHlwZSxoLndpZHRoLGguaGVpZ2h0LGUuZ2VuTWlwbWFwcywhMSkpO2cuZm9ybWF0PUZhW2YuaW50ZXJuYWxmb3JtYXRdO2cudHlwZT1IYVtmLnR5cGVdO2cubWFnPUlhW2UubWFnRmlsdGVyXTtnLm1pbj1DYVtlLm1pbkZpbHRlcl07Zy53cmFwUz1EYVtlLndyYXBTXTtnLndyYXBUPURhW2Uud3JhcFRdO3JldHVybiBnfXZhciBmPW5ldyBzYSgzNTUzKTtjYVtmLmlkXT1mO0wudGV4dHVyZUNvdW50Kys7XG5nKGIsYyk7Zy5zdWJpbWFnZT1mdW5jdGlvbihhLGIsYyxlKXtifD0wO2N8PTA7ZXw9MDt2YXIgZD1nYSgpO0soZCxmKTtkLndpZHRoPTA7ZC5oZWlnaHQ9MDtTKGQsYSk7ZC53aWR0aD1kLndpZHRofHwoZi53aWR0aD4+ZSktYjtkLmhlaWdodD1kLmhlaWdodHx8KGYuaGVpZ2h0Pj5lKS1jO2RhKGYpO21hKGQsMzU1MyxiLGMsZSk7amEoKTtXKGQpO3JldHVybiBnfTtnLnJlc2l6ZT1mdW5jdGlvbihiLGMpe3ZhciBlPWJ8MCxrPWN8MHx8ZTtpZihlPT09Zi53aWR0aCYmaz09PWYuaGVpZ2h0KXJldHVybiBnO2cud2lkdGg9Zi53aWR0aD1lO2cuaGVpZ2h0PWYuaGVpZ2h0PWs7ZGEoZik7Zm9yKHZhciBkPTA7Zi5taXBtYXNrPj5kOysrZCloLnRleEltYWdlMkQoMzU1MyxkLGYuZm9ybWF0LGU+PmQsaz4+ZCwwLGYuZm9ybWF0LGYudHlwZSxudWxsKTtqYSgpO1oucHJvZmlsZSYmKGYuc3RhdHMuc2l6ZT1hKGYuaW50ZXJuYWxmb3JtYXQsZi50eXBlLGUsaywhMSwhMSkpO3JldHVybiBnfTtcbmcuX3JlZ2xUeXBlPVwidGV4dHVyZTJkXCI7Zy5fdGV4dHVyZT1mO1oucHJvZmlsZSYmKGcuc3RhdHM9Zi5zdGF0cyk7Zy5kZXN0cm95PWZ1bmN0aW9uKCl7Zi5kZWNSZWYoKX07cmV0dXJuIGd9LGNyZWF0ZUN1YmU6ZnVuY3Rpb24oYixjLGcsZixrLGwpe2Z1bmN0aW9uIG0oYixjLGUsZyxoLGYpe3ZhciBrLGw9bi50ZXhJbmZvO2lhLmNhbGwobCk7Zm9yKGs9MDs2Pms7KytrKWRba109eWEoKTtpZihcIm51bWJlclwiPT09dHlwZW9mIGJ8fCFiKWZvcihiPWJ8MHx8MSxrPTA7Nj5rOysraylHKGRba10sYixiKTtlbHNlIGlmKFwib2JqZWN0XCI9PT10eXBlb2YgYilpZihjKWJhKGRbMF0sYiksYmEoZFsxXSxjKSxiYShkWzJdLGUpLGJhKGRbM10sZyksYmEoZFs0XSxoKSxiYShkWzVdLGYpO2Vsc2UgaWYoa2EobCxiKSxZKG4sYiksXCJmYWNlc1wiaW4gYilmb3IoYj1iLmZhY2VzLGs9MDs2Pms7KytrKUsoZFtrXSxuKSxiYShkW2tdLGJba10pO2Vsc2UgZm9yKGs9MDs2Pms7KytrKWJhKGRba10sYik7XG5LKG4sZFswXSk7bi5taXBtYXNrPWwuZ2VuTWlwbWFwcz8oZFswXS53aWR0aDw8MSktMTpkWzBdLm1pcG1hc2s7bi5pbnRlcm5hbGZvcm1hdD1kWzBdLmludGVybmFsZm9ybWF0O20ud2lkdGg9ZFswXS53aWR0aDttLmhlaWdodD1kWzBdLmhlaWdodDtkYShuKTtmb3Ioaz0wOzY+azsrK2spbmEoZFtrXSwzNDA2OStrKTtyYShsLDM0MDY3KTtqYSgpO1oucHJvZmlsZSYmKG4uc3RhdHMuc2l6ZT1hKG4uaW50ZXJuYWxmb3JtYXQsbi50eXBlLG0ud2lkdGgsbS5oZWlnaHQsbC5nZW5NaXBtYXBzLCEwKSk7bS5mb3JtYXQ9RmFbbi5pbnRlcm5hbGZvcm1hdF07bS50eXBlPUhhW24udHlwZV07bS5tYWc9SWFbbC5tYWdGaWx0ZXJdO20ubWluPUNhW2wubWluRmlsdGVyXTttLndyYXBTPURhW2wud3JhcFNdO20ud3JhcFQ9RGFbbC53cmFwVF07Zm9yKGs9MDs2Pms7KytrKVUoZFtrXSk7cmV0dXJuIG19dmFyIG49bmV3IHNhKDM0MDY3KTtjYVtuLmlkXT1uO0wuY3ViZUNvdW50Kys7dmFyIGQ9QXJyYXkoNik7XG5tKGIsYyxnLGYsayxsKTttLnN1YmltYWdlPWZ1bmN0aW9uKGEsYixjLGQsZSl7Y3w9MDtkfD0wO2V8PTA7dmFyIGc9Z2EoKTtLKGcsbik7Zy53aWR0aD0wO2cuaGVpZ2h0PTA7UyhnLGIpO2cud2lkdGg9Zy53aWR0aHx8KG4ud2lkdGg+PmUpLWM7Zy5oZWlnaHQ9Zy5oZWlnaHR8fChuLmhlaWdodD4+ZSktZDtkYShuKTttYShnLDM0MDY5K2EsYyxkLGUpO2phKCk7VyhnKTtyZXR1cm4gbX07bS5yZXNpemU9ZnVuY3Rpb24oYil7Ynw9MDtpZihiIT09bi53aWR0aCl7bS53aWR0aD1uLndpZHRoPWI7bS5oZWlnaHQ9bi5oZWlnaHQ9YjtkYShuKTtmb3IodmFyIGM9MDs2PmM7KytjKWZvcih2YXIgZD0wO24ubWlwbWFzaz4+ZDsrK2QpaC50ZXhJbWFnZTJEKDM0MDY5K2MsZCxuLmZvcm1hdCxiPj5kLGI+PmQsMCxuLmZvcm1hdCxuLnR5cGUsbnVsbCk7amEoKTtaLnByb2ZpbGUmJihuLnN0YXRzLnNpemU9YShuLmludGVybmFsZm9ybWF0LG4udHlwZSxtLndpZHRoLG0uaGVpZ2h0LCExLCEwKSk7XG5yZXR1cm4gbX19O20uX3JlZ2xUeXBlPVwidGV4dHVyZUN1YmVcIjttLl90ZXh0dXJlPW47Wi5wcm9maWxlJiYobS5zdGF0cz1uLnN0YXRzKTttLmRlc3Ryb3k9ZnVuY3Rpb24oKXtuLmRlY1JlZigpfTtyZXR1cm4gbX0sY2xlYXI6ZnVuY3Rpb24oKXtmb3IodmFyIGE9MDthPHRhOysrYSloLmFjdGl2ZVRleHR1cmUoMzM5ODQrYSksaC5iaW5kVGV4dHVyZSgzNTUzLG51bGwpLG9hW2FdPW51bGw7RihjYSkuZm9yRWFjaChsYSk7TC5jdWJlQ291bnQ9MDtMLnRleHR1cmVDb3VudD0wfSxnZXRUZXh0dXJlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsfSxyZXN0b3JlOmZ1bmN0aW9uKCl7RihjYSkuZm9yRWFjaChmdW5jdGlvbihhKXthLnRleHR1cmU9aC5jcmVhdGVUZXh0dXJlKCk7aC5iaW5kVGV4dHVyZShhLnRhcmdldCxhLnRleHR1cmUpO2Zvcih2YXIgYj0wOzMyPmI7KytiKWlmKDAhPT0oYS5taXBtYXNrJjE8PGIpKWlmKDM1NTM9PT1hLnRhcmdldCloLnRleEltYWdlMkQoMzU1MyxiLGEuaW50ZXJuYWxmb3JtYXQsXG5hLndpZHRoPj5iLGEuaGVpZ2h0Pj5iLDAsYS5pbnRlcm5hbGZvcm1hdCxhLnR5cGUsbnVsbCk7ZWxzZSBmb3IodmFyIGM9MDs2PmM7KytjKWgudGV4SW1hZ2UyRCgzNDA2OStjLGIsYS5pbnRlcm5hbGZvcm1hdCxhLndpZHRoPj5iLGEuaGVpZ2h0Pj5iLDAsYS5pbnRlcm5hbGZvcm1hdCxhLnR5cGUsbnVsbCk7cmEoYS50ZXhJbmZvLGEudGFyZ2V0KX0pfX19fSx7XCIuL2NvbnN0YW50cy9hcnJheXR5cGVzLmpzb25cIjozLFwiLi91dGlsL2V4dGVuZFwiOjIyLFwiLi91dGlsL2ZsYXR0ZW5cIjoyMyxcIi4vdXRpbC9pcy1hcnJheS1saWtlXCI6MjQsXCIuL3V0aWwvaXMtbmRhcnJheVwiOjI1LFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCI6MjYsXCIuL3V0aWwvcG9vbFwiOjI4LFwiLi91dGlsL3RvLWhhbGYtZmxvYXRcIjozMCxcIi4vdXRpbC92YWx1ZXNcIjozMX1dLDE5OltmdW5jdGlvbihmLHAsdSl7cC5leHBvcnRzPWZ1bmN0aW9uKGYsayl7ZnVuY3Rpb24gcCgpe3RoaXMuZW5kUXVlcnlJbmRleD10aGlzLnN0YXJ0UXVlcnlJbmRleD1cbi0xO3RoaXMuc3VtPTA7dGhpcy5zdGF0cz1udWxsfWZ1bmN0aW9uIHIoYSxiLGMpe3ZhciBmPUYucG9wKCl8fG5ldyBwO2Yuc3RhcnRRdWVyeUluZGV4PWE7Zi5lbmRRdWVyeUluZGV4PWI7Zi5zdW09MDtmLnN0YXRzPWM7dS5wdXNoKGYpfXZhciBjPWsuZXh0X2Rpc2pvaW50X3RpbWVyX3F1ZXJ5O2lmKCFjKXJldHVybiBudWxsO3ZhciBhPVtdLGI9W10sRj1bXSx1PVtdLHQ9W10seT1bXTtyZXR1cm57YmVnaW5RdWVyeTpmdW5jdGlvbihnKXt2YXIgZj1hLnBvcCgpfHxjLmNyZWF0ZVF1ZXJ5RVhUKCk7Yy5iZWdpblF1ZXJ5RVhUKDM1MDA3LGYpO2IucHVzaChmKTtyKGIubGVuZ3RoLTEsYi5sZW5ndGgsZyl9LGVuZFF1ZXJ5OmZ1bmN0aW9uKCl7Yy5lbmRRdWVyeUVYVCgzNTAwNyl9LHB1c2hTY29wZVN0YXRzOnIsdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGcsZjtnPWIubGVuZ3RoO2lmKDAhPT1nKXt5Lmxlbmd0aD1NYXRoLm1heCh5Lmxlbmd0aCxnKzEpO3QubGVuZ3RoPU1hdGgubWF4KHQubGVuZ3RoLFxuZysxKTt0WzBdPTA7dmFyIGs9eVswXT0wO2ZvcihmPWc9MDtmPGIubGVuZ3RoOysrZil7dmFyIGw9YltmXTtjLmdldFF1ZXJ5T2JqZWN0RVhUKGwsMzQ5MTkpPyhrKz1jLmdldFF1ZXJ5T2JqZWN0RVhUKGwsMzQ5MTgpLGEucHVzaChsKSk6YltnKytdPWw7dFtmKzFdPWs7eVtmKzFdPWd9Yi5sZW5ndGg9Zztmb3IoZj1nPTA7Zjx1Lmxlbmd0aDsrK2Ype3ZhciBrPXVbZl0sbj1rLnN0YXJ0UXVlcnlJbmRleCxsPWsuZW5kUXVlcnlJbmRleDtrLnN1bSs9dFtsXS10W25dO249eVtuXTtsPXlbbF07bD09PW4/KGsuc3RhdHMuZ3B1VGltZSs9ay5zdW0vMUU2LEYucHVzaChrKSk6KGsuc3RhcnRRdWVyeUluZGV4PW4say5lbmRRdWVyeUluZGV4PWwsdVtnKytdPWspfXUubGVuZ3RoPWd9fSxnZXROdW1QZW5kaW5nUXVlcmllczpmdW5jdGlvbigpe3JldHVybiBiLmxlbmd0aH0sY2xlYXI6ZnVuY3Rpb24oKXthLnB1c2guYXBwbHkoYSxiKTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoO2crKyljLmRlbGV0ZVF1ZXJ5RVhUKGFbZ10pO1xuYi5sZW5ndGg9MDthLmxlbmd0aD0wfSxyZXN0b3JlOmZ1bmN0aW9uKCl7Yi5sZW5ndGg9MDthLmxlbmd0aD0wfX19fSx7fV0sMjA6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9XCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX19LHt9XSwyMTpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoZil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGYpfWZ1bmN0aW9uIGsoZil7cmV0dXJuIGwoZikuam9pbihcIlwiKX12YXIgeD1mKFwiLi9leHRlbmRcIik7cC5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZigpe3ZhciBiPVtdLGM9W107cmV0dXJuIHgoZnVuY3Rpb24oKXtiLnB1c2guYXBwbHkoYixsKGFyZ3VtZW50cykpfSx7ZGVmOmZ1bmN0aW9uKCl7dmFyIGY9XCJ2XCIrYSsrO2MucHVzaChmKTswPGFyZ3VtZW50cy5sZW5ndGgmJlxuKGIucHVzaChmLFwiPVwiKSxiLnB1c2guYXBwbHkoYixsKGFyZ3VtZW50cykpLGIucHVzaChcIjtcIikpO3JldHVybiBmfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBrKFswPGMubGVuZ3RoP1widmFyIFwiK2MrXCI7XCI6XCJcIixrKGIpXSl9fSl9ZnVuY3Rpb24gYygpe2Z1bmN0aW9uIGEoZixrKXtjKGYsayxcIj1cIixiLmRlZihmLGspLFwiO1wiKX12YXIgYj1mKCksYz1mKCksaz1iLnRvU3RyaW5nLHQ9Yy50b1N0cmluZztyZXR1cm4geChmdW5jdGlvbigpe2IuYXBwbHkoYixsKGFyZ3VtZW50cykpfSx7ZGVmOmIuZGVmLGVudHJ5OmIsZXhpdDpjLHNhdmU6YSxzZXQ6ZnVuY3Rpb24oYyxmLGspe2EoYyxmKTtiKGMsZixcIj1cIixrLFwiO1wiKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gaygpK3QoKX19KX12YXIgYT0wLGI9W10scD1bXSx1PWYoKSx0PXt9O3JldHVybntnbG9iYWw6dSxsaW5rOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZz0wO2c8cC5sZW5ndGg7KytnKWlmKHBbZ109PT1jKXJldHVybiBiW2ddO1xuZz1cImdcIithKys7Yi5wdXNoKGcpO3AucHVzaChjKTtyZXR1cm4gZ30sYmxvY2s6Zixwcm9jOmZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gZigpe3ZhciBhPVwiYVwiK2wubGVuZ3RoO2wucHVzaChhKTtyZXR1cm4gYX12YXIgbD1bXTtiPWJ8fDA7Zm9yKHZhciByPTA7cjxiOysrcilmKCk7dmFyIHI9YygpLG49ci50b1N0cmluZztyZXR1cm4gdFthXT14KHIse2FyZzpmLHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGsoW1wiZnVuY3Rpb24oXCIsbC5qb2luKCksXCIpe1wiLG4oKSxcIn1cIl0pfX0pfSxzY29wZTpjLGNvbmQ6ZnVuY3Rpb24oKXt2YXIgYT1rKGFyZ3VtZW50cyksYj1jKCksZj1jKCkscj1iLnRvU3RyaW5nLHQ9Zi50b1N0cmluZztyZXR1cm4geChiLHt0aGVuOmZ1bmN0aW9uKCl7Yi5hcHBseShiLGwoYXJndW1lbnRzKSk7cmV0dXJuIHRoaXN9LFwiZWxzZVwiOmZ1bmN0aW9uKCl7Zi5hcHBseShmLGwoYXJndW1lbnRzKSk7cmV0dXJuIHRoaXN9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGI9XG50KCk7YiYmKGI9XCJlbHNle1wiK2IrXCJ9XCIpO3JldHVybiBrKFtcImlmKFwiLGEsXCIpe1wiLHIoKSxcIn1cIixiXSl9fSl9LGNvbXBpbGU6ZnVuY3Rpb24oKXt2YXIgYT1bJ1widXNlIHN0cmljdFwiOycsdSxcInJldHVybiB7XCJdO09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24oYil7YS5wdXNoKCdcIicsYiwnXCI6Jyx0W2JdLnRvU3RyaW5nKCksXCIsXCIpfSk7YS5wdXNoKFwifVwiKTt2YXIgYz1rKGEpLnJlcGxhY2UoLzsvZyxcIjtcXG5cIikucmVwbGFjZSgvfS9nLFwifVxcblwiKS5yZXBsYWNlKC97L2csXCJ7XFxuXCIpO3JldHVybiBGdW5jdGlvbi5hcHBseShudWxsLGIuY29uY2F0KGMpKS5hcHBseShudWxsLHApfX19fSx7XCIuL2V4dGVuZFwiOjIyfV0sMjI6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9ZnVuY3Rpb24oZixrKXtmb3IodmFyIHA9T2JqZWN0LmtleXMoaykscj0wO3I8cC5sZW5ndGg7KytyKWZbcFtyXV09a1twW3JdXTtyZXR1cm4gZn19LHt9XSwyMzpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoZixcbmMsYSxiLGssbCl7Zm9yKHZhciB0PTA7dDxjOysrdClmb3IodmFyIHA9Zlt0XSxnPTA7ZzxhOysrZylmb3IodmFyIHg9cFtnXSx1PTA7dTxiOysrdSlrW2wrK109eFt1XX1mdW5jdGlvbiBrKGYsYyxhLGIscCl7Zm9yKHZhciB4PTEsdD1hKzE7dDxjLmxlbmd0aDsrK3QpeCo9Y1t0XTt2YXIgeT1jW2FdO2lmKDQ9PT1jLmxlbmd0aC1hKXt2YXIgZz1jW2ErMV0sdT1jW2ErMl07Yz1jW2ErM107Zm9yKHQ9MDt0PHk7Kyt0KWwoZlt0XSxnLHUsYyxiLHApLHArPXh9ZWxzZSBmb3IodD0wO3Q8eTsrK3QpayhmW3RdLGMsYSsxLGIscCkscCs9eH12YXIgeD1mKFwiLi9wb29sXCIpO3AuZXhwb3J0cz17c2hhcGU6ZnVuY3Rpb24oZil7Zm9yKHZhciBjPVtdO2YubGVuZ3RoO2Y9ZlswXSljLnB1c2goZi5sZW5ndGgpO3JldHVybiBjfSxmbGF0dGVuOmZ1bmN0aW9uKGYsYyxhLGIpe3ZhciBwPTE7aWYoYy5sZW5ndGgpZm9yKHZhciB1PTA7dTxjLmxlbmd0aDsrK3UpcCo9Y1t1XTtlbHNlIHA9MDthPWJ8fFxueC5hbGxvY1R5cGUoYSxwKTtzd2l0Y2goYy5sZW5ndGgpe2Nhc2UgMDpicmVhaztjYXNlIDE6Yj1jWzBdO2ZvcihjPTA7YzxiOysrYylhW2NdPWZbY107YnJlYWs7Y2FzZSAyOmI9Y1swXTtjPWNbMV07Zm9yKHU9cD0wO3U8YjsrK3UpZm9yKHZhciB0PWZbdV0seT0wO3k8YzsrK3kpYVtwKytdPXRbeV07YnJlYWs7Y2FzZSAzOmwoZixjWzBdLGNbMV0sY1syXSxhLDApO2JyZWFrO2RlZmF1bHQ6ayhmLGMsMCxhLDApfXJldHVybiBhfX19LHtcIi4vcG9vbFwiOjI4fV0sMjQ6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi9pcy10eXBlZC1hcnJheVwiKTtwLmV4cG9ydHM9ZnVuY3Rpb24oZil7cmV0dXJuIEFycmF5LmlzQXJyYXkoZil8fGwoZil9fSx7XCIuL2lzLXR5cGVkLWFycmF5XCI6MjZ9XSwyNTpbZnVuY3Rpb24oZixwLHUpe3ZhciBsPWYoXCIuL2lzLXR5cGVkLWFycmF5XCIpO3AuZXhwb3J0cz1mdW5jdGlvbihmKXtyZXR1cm4hIWYmJlwib2JqZWN0XCI9PT10eXBlb2YgZiYmQXJyYXkuaXNBcnJheShmLnNoYXBlKSYmXG5BcnJheS5pc0FycmF5KGYuc3RyaWRlKSYmXCJudW1iZXJcIj09PXR5cGVvZiBmLm9mZnNldCYmZi5zaGFwZS5sZW5ndGg9PT1mLnN0cmlkZS5sZW5ndGgmJihBcnJheS5pc0FycmF5KGYuZGF0YSl8fGwoZi5kYXRhKSl9fSx7XCIuL2lzLXR5cGVkLWFycmF5XCI6MjZ9XSwyNjpbZnVuY3Rpb24oZixwLHUpe3ZhciBsPWYoXCIuLi9jb25zdGFudHMvYXJyYXl0eXBlcy5qc29uXCIpO3AuZXhwb3J0cz1mdW5jdGlvbihmKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGYpaW4gbH19LHtcIi4uL2NvbnN0YW50cy9hcnJheXR5cGVzLmpzb25cIjozfV0sMjc6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9ZnVuY3Rpb24oZixrKXtmb3IodmFyIHA9QXJyYXkoZikscj0wO3I8ZjsrK3IpcFtyXT1rKHIpO3JldHVybiBwfX0se31dLDI4OltmdW5jdGlvbihmLHAsdSl7ZnVuY3Rpb24gbChjKXt2YXIgYSxiO2E9KDY1NTM1PGMpPDw0O2M+Pj49YTtiPSgyNTU8Yyk8PDM7Yz4+Pj1iO2F8PVxuYjtiPSgxNTxjKTw8MjtjPj4+PWI7YXw9YjtiPSgzPGMpPDwxO3JldHVybiBhfGJ8Yz4+PmI+PjF9ZnVuY3Rpb24gayhjKXthOntmb3IodmFyIGE9MTY7MjY4NDM1NDU2Pj1hO2EqPTE2KWlmKGM8PWEpe2M9YTticmVhayBhfWM9MH1hPXJbbChjKT4+Ml07cmV0dXJuIDA8YS5sZW5ndGg/YS5wb3AoKTpuZXcgQXJyYXlCdWZmZXIoYyl9ZnVuY3Rpb24geChjKXtyW2woYy5ieXRlTGVuZ3RoKT4+Ml0ucHVzaChjKX12YXIgcj1mKFwiLi9sb29wXCIpKDgsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO3AuZXhwb3J0cz17YWxsb2M6ayxmcmVlOngsYWxsb2NUeXBlOmZ1bmN0aW9uKGMsYSl7dmFyIGI9bnVsbDtzd2l0Y2goYyl7Y2FzZSA1MTIwOmI9bmV3IEludDhBcnJheShrKGEpLDAsYSk7YnJlYWs7Y2FzZSA1MTIxOmI9bmV3IFVpbnQ4QXJyYXkoayhhKSwwLGEpO2JyZWFrO2Nhc2UgNTEyMjpiPW5ldyBJbnQxNkFycmF5KGsoMiphKSwwLGEpO2JyZWFrO2Nhc2UgNTEyMzpiPW5ldyBVaW50MTZBcnJheShrKDIqXG5hKSwwLGEpO2JyZWFrO2Nhc2UgNTEyNDpiPW5ldyBJbnQzMkFycmF5KGsoNCphKSwwLGEpO2JyZWFrO2Nhc2UgNTEyNTpiPW5ldyBVaW50MzJBcnJheShrKDQqYSksMCxhKTticmVhaztjYXNlIDUxMjY6Yj1uZXcgRmxvYXQzMkFycmF5KGsoNCphKSwwLGEpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIG51bGx9cmV0dXJuIGIubGVuZ3RoIT09YT9iLnN1YmFycmF5KDAsYSk6Yn0sZnJlZVR5cGU6ZnVuY3Rpb24oYyl7eChjLmJ1ZmZlcil9fX0se1wiLi9sb29wXCI6Mjd9XSwyOTpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1cImZ1bmN0aW9uXCI9PT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZcImZ1bmN0aW9uXCI9PT10eXBlb2YgY2FuY2VsQW5pbWF0aW9uRnJhbWU/e25leHQ6ZnVuY3Rpb24oZil7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShmKX0sY2FuY2VsOmZ1bmN0aW9uKGYpe3JldHVybiBjYW5jZWxBbmltYXRpb25GcmFtZShmKX19OntuZXh0OmZ1bmN0aW9uKGYpe3JldHVybiBzZXRUaW1lb3V0KGYsXG4xNil9LGNhbmNlbDpjbGVhclRpbWVvdXR9fSx7fV0sMzA6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi9wb29sXCIpLGs9bmV3IEZsb2F0MzJBcnJheSgxKSx4PW5ldyBVaW50MzJBcnJheShrLmJ1ZmZlcik7cC5leHBvcnRzPWZ1bmN0aW9uKGYpe2Zvcih2YXIgYz1sLmFsbG9jVHlwZSg1MTIzLGYubGVuZ3RoKSxhPTA7YTxmLmxlbmd0aDsrK2EpaWYoaXNOYU4oZlthXSkpY1thXT02NTUzNTtlbHNlIGlmKEluZmluaXR5PT09ZlthXSljW2FdPTMxNzQ0O2Vsc2UgaWYoLUluZmluaXR5PT09ZlthXSljW2FdPTY0NTEyO2Vsc2V7a1swXT1mW2FdO3ZhciBiPXhbMF0scD1iPj4+MzE8PDE1LHU9KGI8PDE+Pj4yNCktMTI3LGI9Yj4+MTMmMTAyMztjW2FdPS0yND51P3A6LTE0PnU/cCsoYisxMDI0Pj4tMTQtdSk6MTU8dT9wKzMxNzQ0OnArKHUrMTU8PDEwKStifXJldHVybiBjfX0se1wiLi9wb29sXCI6Mjh9XSwzMTpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1mdW5jdGlvbihmKXtyZXR1cm4gT2JqZWN0LmtleXMoZikubWFwKGZ1bmN0aW9uKGspe3JldHVybiBmW2tdfSl9fSxcbnt9XSwzMjpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoYSxiLGYpe2Z1bmN0aW9uIGsoKXt2YXIgYj13aW5kb3cuaW5uZXJXaWR0aCxnPXdpbmRvdy5pbm5lckhlaWdodDthIT09ZG9jdW1lbnQuYm9keSYmKGc9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxiPWcucmlnaHQtZy5sZWZ0LGc9Zy50b3AtZy5ib3R0b20pO2wud2lkdGg9ZipiO2wuaGVpZ2h0PWYqZztjKGwuc3R5bGUse3dpZHRoOmIrXCJweFwiLGhlaWdodDpnK1wicHhcIn0pfXZhciBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7YyhsLnN0eWxlLHtib3JkZXI6MCxtYXJnaW46MCxwYWRkaW5nOjAsdG9wOjAsbGVmdDowfSk7YS5hcHBlbmRDaGlsZChsKTthPT09ZG9jdW1lbnQuYm9keSYmKGwuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLGMoYS5zdHlsZSx7bWFyZ2luOjAscGFkZGluZzowfSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsaywhMSk7aygpO3JldHVybntjYW52YXM6bCxvbkRlc3Ryb3k6ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLFxuayk7YS5yZW1vdmVDaGlsZChsKX19fWZ1bmN0aW9uIGsoYSxiKXtmdW5jdGlvbiBjKGYpe3RyeXtyZXR1cm4gYS5nZXRDb250ZXh0KGYsYil9Y2F0Y2goayl7cmV0dXJuIG51bGx9fXJldHVybiBjKFwid2ViZ2xcIil8fGMoXCJleHBlcmltZW50YWwtd2ViZ2xcIil8fGMoXCJ3ZWJnbC1leHBlcmltZW50YWxcIil9ZnVuY3Rpb24geChhKXtyZXR1cm5cInN0cmluZ1wiPT09dHlwZW9mIGE/YS5zcGxpdCgpOmF9ZnVuY3Rpb24gcihhKXtyZXR1cm5cInN0cmluZ1wiPT09dHlwZW9mIGE/ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKTphfXZhciBjPWYoXCIuL3V0aWwvZXh0ZW5kXCIpO3AuZXhwb3J0cz1mdW5jdGlvbihhKXt2YXIgYj1hfHx7fSxjLGYscCx1O2E9e307dmFyIGc9W10sRT1bXSxDPVwidW5kZWZpbmVkXCI9PT10eXBlb2Ygd2luZG93PzE6d2luZG93LmRldmljZVBpeGVsUmF0aW8sTj0hMSxuPWZ1bmN0aW9uKGEpe30sbT1mdW5jdGlvbigpe307XCJzdHJpbmdcIj09PXR5cGVvZiBiP2M9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihiKTpcblwib2JqZWN0XCI9PT10eXBlb2YgYiYmKFwic3RyaW5nXCI9PT10eXBlb2YgYi5ub2RlTmFtZSYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGIuYXBwZW5kQ2hpbGQmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdD9jPWI6XCJmdW5jdGlvblwiPT09dHlwZW9mIGIuZHJhd0FycmF5c3x8XCJmdW5jdGlvblwiPT09dHlwZW9mIGIuZHJhd0VsZW1lbnRzPyh1PWIscD11LmNhbnZhcyk6KFwiZ2xcImluIGI/dT1iLmdsOlwiY2FudmFzXCJpbiBiP3A9cihiLmNhbnZhcyk6XCJjb250YWluZXJcImluIGImJihmPXIoYi5jb250YWluZXIpKSxcImF0dHJpYnV0ZXNcImluIGImJihhPWIuYXR0cmlidXRlcyksXCJleHRlbnNpb25zXCJpbiBiJiYoZz14KGIuZXh0ZW5zaW9ucykpLFwib3B0aW9uYWxFeHRlbnNpb25zXCJpbiBiJiYoRT14KGIub3B0aW9uYWxFeHRlbnNpb25zKSksXCJvbkRvbmVcImluIGImJihuPWIub25Eb25lKSxcInByb2ZpbGVcImluIGImJihOPSEhYi5wcm9maWxlKSxcInBpeGVsUmF0aW9cImluIGImJlxuKEM9K2IucGl4ZWxSYXRpbykpKTtjJiYoXCJjYW52YXNcIj09PWMubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9wPWM6Zj1jKTtpZighdSl7aWYoIXApe2M9bChmfHxkb2N1bWVudC5ib2R5LG4sQyk7aWYoIWMpcmV0dXJuIG51bGw7cD1jLmNhbnZhczttPWMub25EZXN0cm95fXU9ayhwLGEpfXJldHVybiB1P3tnbDp1LGNhbnZhczpwLGNvbnRhaW5lcjpmLGV4dGVuc2lvbnM6ZyxvcHRpb25hbEV4dGVuc2lvbnM6RSxwaXhlbFJhdGlvOkMscHJvZmlsZTpOLG9uRG9uZTpuLG9uRGVzdHJveTptfToobSgpLG4oXCJ3ZWJnbCBub3Qgc3VwcG9ydGVkLCB0cnkgdXBncmFkaW5nIHlvdXIgYnJvd3NlciBvciBncmFwaGljcyBkcml2ZXJzIGh0dHA6Ly9nZXQud2ViZ2wub3JnXCIpLG51bGwpfX0se1wiLi91dGlsL2V4dGVuZFwiOjIyfV0sMzM6W2Z1bmN0aW9uKGYscCx1KXtmdW5jdGlvbiBsKGEsYil7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDsrK2MpaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9dmFyIGs9XG5mKFwiLi9saWIvdXRpbC9leHRlbmRcIikseD1mKFwiLi9saWIvZHluYW1pY1wiKSxyPWYoXCIuL2xpYi91dGlsL3JhZlwiKSxjPWYoXCIuL2xpYi91dGlsL2Nsb2NrXCIpLGE9ZihcIi4vbGliL3N0cmluZ3NcIiksYj1mKFwiLi9saWIvd2ViZ2xcIiksRj1mKFwiLi9saWIvZXh0ZW5zaW9uXCIpLE09ZihcIi4vbGliL2xpbWl0c1wiKSx0PWYoXCIuL2xpYi9idWZmZXJcIikseT1mKFwiLi9saWIvZWxlbWVudHNcIiksZz1mKFwiLi9saWIvdGV4dHVyZVwiKSxFPWYoXCIuL2xpYi9yZW5kZXJidWZmZXJcIiksQz1mKFwiLi9saWIvZnJhbWVidWZmZXJcIiksTj1mKFwiLi9saWIvYXR0cmlidXRlXCIpLG49ZihcIi4vbGliL3NoYWRlclwiKSxtPWYoXCIuL2xpYi9yZWFkXCIpLEI9ZihcIi4vbGliL2NvcmVcIiksWT1mKFwiLi9saWIvc3RhdHNcIiksTD1mKFwiLi9saWIvdGltZXJcIik7cC5leHBvcnRzPWZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgoKXtpZigwPT09US5sZW5ndGgpRyYmRy51cGRhdGUoKSxUPW51bGw7ZWxzZXtUPXIubmV4dChoKTtLKCk7Zm9yKHZhciBhPVxuUS5sZW5ndGgtMTswPD1hOy0tYSl7dmFyIGI9UVthXTtiJiZiKFUsbnVsbCwwKX1xLmZsdXNoKCk7RyYmRy51cGRhdGUoKX19ZnVuY3Rpb24gcCgpeyFUJiYwPFEubGVuZ3RoJiYoVD1yLm5leHQoaCkpfWZ1bmN0aW9uIHUoKXtUJiYoci5jYW5jZWwoaCksVD1udWxsKX1mdW5jdGlvbiBMYShhKXthLnByZXZlbnREZWZhdWx0KCk7dSgpO3BhLmZvckVhY2goZnVuY3Rpb24oYSl7YSgpfSl9ZnVuY3Rpb24gemEoYSl7cS5nZXRFcnJvcigpO21hLnJlc3RvcmUoKTtzYS5yZXN0b3JlKCk7a2EucmVzdG9yZSgpO2RhLnJlc3RvcmUoKTtqYS5yZXN0b3JlKCk7bGEucmVzdG9yZSgpO0cmJkcucmVzdG9yZSgpO2VhLnByb2NzLnJlZnJlc2goKTtwKCk7Vi5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EoKX0pfWZ1bmN0aW9uIEdhKGEpe2Z1bmN0aW9uIGIoYSl7dmFyIGM9e30sZj17fTtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBnPWFbYl07eC5pc0R5bmFtaWMoZyk/ZltiXT14LnVuYm94KGcsXG5iKTpjW2JdPWd9KTtyZXR1cm57ZHluYW1pYzpmLFwic3RhdGljXCI6Y319ZnVuY3Rpb24gYyhhKXtmb3IoO3EubGVuZ3RoPGE7KXEucHVzaChudWxsKTtyZXR1cm4gcX12YXIgZj1iKGEuY29udGV4dHx8e30pLGc9YihhLnVuaWZvcm1zfHx7fSksaD1iKGEuYXR0cmlidXRlc3x8e30pLGw9YihmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEpe2lmKGEgaW4gYyl7dmFyIGY9Y1thXTtkZWxldGUgY1thXTtPYmplY3Qua2V5cyhmKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2NbYStcIi5cIitiXT1mW2JdfSl9fXZhciBjPWsoe30sYSk7ZGVsZXRlIGMudW5pZm9ybXM7ZGVsZXRlIGMuYXR0cmlidXRlcztkZWxldGUgYy5jb250ZXh0O1wic3RlbmNpbFwiaW4gYyYmYy5zdGVuY2lsLm9wJiYoYy5zdGVuY2lsLm9wQmFjaz1jLnN0ZW5jaWwub3BGcm9udD1jLnN0ZW5jaWwub3AsZGVsZXRlIGMuc3RlbmNpbC5vcCk7YihcImJsZW5kXCIpO2IoXCJkZXB0aFwiKTtiKFwiY3VsbFwiKTtiKFwic3RlbmNpbFwiKTtiKFwicG9seWdvbk9mZnNldFwiKTtcbmIoXCJzY2lzc29yXCIpO2IoXCJzYW1wbGVcIik7cmV0dXJuIGN9KGEpKTthPXtncHVUaW1lOjAsY3B1VGltZTowLGNvdW50OjB9O3ZhciBmPWVhLmNvbXBpbGUobCxoLGcsZixhKSxtPWYuZHJhdyxuPWYuYmF0Y2gscD1mLnNjb3BlLHE9W107cmV0dXJuIGsoZnVuY3Rpb24oYSxiKXt2YXIgZjtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgYSlyZXR1cm4gcC5jYWxsKHRoaXMsbnVsbCxhLDApO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBiKWlmKFwibnVtYmVyXCI9PT10eXBlb2YgYSlmb3IoZj0wO2Y8YTsrK2YpcC5jYWxsKHRoaXMsbnVsbCxiLGYpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlmb3IoZj0wO2Y8YS5sZW5ndGg7KytmKXAuY2FsbCh0aGlzLGFbZl0sYixmKTtlbHNlIHJldHVybiBwLmNhbGwodGhpcyxhLGIsMCk7ZWxzZSBpZihcIm51bWJlclwiPT09dHlwZW9mIGEpe2lmKDA8YSlyZXR1cm4gbi5jYWxsKHRoaXMsYyhhfDApLGF8MCl9ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aClyZXR1cm4gbi5jYWxsKHRoaXMsXG5hLGEubGVuZ3RoKX1lbHNlIHJldHVybiBtLmNhbGwodGhpcyxhKX0se3N0YXRzOmF9KX1mdW5jdGlvbiBaKGEpe1EucHVzaChhKTtwKCk7cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXt2YXIgYT1sKFEsYik7UVthXT1RW1EubGVuZ3RoLTFdOy0tUS5sZW5ndGg7MD49US5sZW5ndGgmJnUoKX12YXIgYz1sKFEsYSk7UVtjXT1ifX19ZnVuY3Rpb24gRCgpe3ZhciBhPU8udmlld3BvcnQsYj1PLnNjaXNzb3JfYm94O2FbMF09YVsxXT1iWzBdPWJbMV09MDtVLnZpZXdwb3J0V2lkdGg9VS5mcmFtZWJ1ZmZlcldpZHRoPVUuZHJhd2luZ0J1ZmZlcldpZHRoPWFbMl09YlsyXT1xLmRyYXdpbmdCdWZmZXJXaWR0aDtVLnZpZXdwb3J0SGVpZ2h0PVUuZnJhbWVidWZmZXJIZWlnaHQ9VS5kcmF3aW5nQnVmZmVySGVpZ2h0PWFbM109YlszXT1xLmRyYXdpbmdCdWZmZXJIZWlnaHR9ZnVuY3Rpb24gSygpe1UudGljays9MTtVLnRpbWU9dmEoKTtEKCk7ZWEucHJvY3MucG9sbCgpfWZ1bmN0aW9uIEFhKCl7RCgpO1xuZWEucHJvY3MucmVmcmVzaCgpO0cmJkcudXBkYXRlKCl9ZnVuY3Rpb24gdmEoKXtyZXR1cm4oYygpLWJhKS8xRTN9Zj1iKGYpO2lmKCFmKXJldHVybiBudWxsO3ZhciBxPWYuZ2wsUz1xLmdldENvbnRleHRBdHRyaWJ1dGVzKCk7cS5pc0NvbnRleHRMb3N0KCk7dmFyIG1hPUYocSxmKTtpZighbWEpcmV0dXJuIG51bGw7dmFyIGdhPWEoKSxXPVkoKSxSPW1hLmV4dGVuc2lvbnMsRz1MKHEsUiksYmE9YygpLG5hPXEuZHJhd2luZ0J1ZmZlcldpZHRoLHlhPXEuZHJhd2luZ0J1ZmZlckhlaWdodCxVPXt0aWNrOjAsdGltZTowLHZpZXdwb3J0V2lkdGg6bmEsdmlld3BvcnRIZWlnaHQ6eWEsZnJhbWVidWZmZXJXaWR0aDpuYSxmcmFtZWJ1ZmZlckhlaWdodDp5YSxkcmF3aW5nQnVmZmVyV2lkdGg6bmEsZHJhd2luZ0J1ZmZlckhlaWdodDp5YSxwaXhlbFJhdGlvOmYucGl4ZWxSYXRpb30saWE9TShxLFIpLGthPXQocSxXLGYpLHJhPXkocSxSLGthLFcpLG5hPU4ocSxSLGlhLGthLGdhKSxzYT1uKHEsXG5nYSxXLGYpLGRhPWcocSxSLGlhLGZ1bmN0aW9uKCl7ZWEucHJvY3MucG9sbCgpfSxVLFcsZiksamE9RShxLFIsaWEsVyxmKSxsYT1DKHEsUixpYSxkYSxqYSxXKSxlYT1CKHEsZ2EsUixpYSxrYSxyYSxkYSxsYSx7fSxuYSxzYSx7ZWxlbWVudHM6bnVsbCxwcmltaXRpdmU6NCxjb3VudDotMSxvZmZzZXQ6MCxpbnN0YW5jZXM6LTF9LFUsRyxmKSxnYT1tKHEsbGEsZWEucHJvY3MucG9sbCxVLFMsUiksTz1lYS5uZXh0LGhhPXEuY2FudmFzLFE9W10scGE9W10sVj1bXSxYPVtmLm9uRGVzdHJveV0sVD1udWxsO2hhJiYoaGEuYWRkRXZlbnRMaXN0ZW5lcihcIndlYmdsY29udGV4dGxvc3RcIixMYSwhMSksaGEuYWRkRXZlbnRMaXN0ZW5lcihcIndlYmdsY29udGV4dHJlc3RvcmVkXCIsemEsITEpKTtBYSgpO1M9ayhHYSx7Y2xlYXI6ZnVuY3Rpb24oYSl7dmFyIGI9MDtlYS5wcm9jcy5wb2xsKCk7dmFyIGM9YS5jb2xvcjtjJiYocS5jbGVhckNvbG9yKCtjWzBdfHwwLCtjWzFdfHwwLCtjWzJdfHwwLFxuK2NbM118fDApLGJ8PTE2Mzg0KTtcImRlcHRoXCJpbiBhJiYocS5jbGVhckRlcHRoKCthLmRlcHRoKSxifD0yNTYpO1wic3RlbmNpbFwiaW4gYSYmKHEuY2xlYXJTdGVuY2lsKGEuc3RlbmNpbHwwKSxifD0xMDI0KTtxLmNsZWFyKGIpfSxwcm9wOnguZGVmaW5lLmJpbmQobnVsbCwxKSxjb250ZXh0OnguZGVmaW5lLmJpbmQobnVsbCwyKSxcInRoaXNcIjp4LmRlZmluZS5iaW5kKG51bGwsMyksZHJhdzpHYSh7fSksYnVmZmVyOmZ1bmN0aW9uKGEpe3JldHVybiBrYS5jcmVhdGUoYSwzNDk2MiwhMSwhMSl9LGVsZW1lbnRzOmZ1bmN0aW9uKGEpe3JldHVybiByYS5jcmVhdGUoYSwhMSl9LHRleHR1cmU6ZGEuY3JlYXRlMkQsY3ViZTpkYS5jcmVhdGVDdWJlLHJlbmRlcmJ1ZmZlcjpqYS5jcmVhdGUsZnJhbWVidWZmZXI6bGEuY3JlYXRlLGZyYW1lYnVmZmVyQ3ViZTpsYS5jcmVhdGVDdWJlLGF0dHJpYnV0ZXM6UyxmcmFtZTpaLG9uOmZ1bmN0aW9uKGEsYil7dmFyIGM7c3dpdGNoKGEpe2Nhc2UgXCJmcmFtZVwiOnJldHVybiBaKGIpO1xuY2FzZSBcImxvc3RcIjpjPXBhO2JyZWFrO2Nhc2UgXCJyZXN0b3JlXCI6Yz1WO2JyZWFrO2Nhc2UgXCJkZXN0cm95XCI6Yz1YfWMucHVzaChiKTtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7YTxjLmxlbmd0aDsrK2EpaWYoY1thXT09PWIpe2NbYV09Y1tjLmxlbmd0aC0xXTtjLnBvcCgpO2JyZWFrfX19fSxsaW1pdHM6aWEsaGFzRXh0ZW5zaW9uOmZ1bmN0aW9uKGEpe3JldHVybiAwPD1pYS5leHRlbnNpb25zLmluZGV4T2YoYS50b0xvd2VyQ2FzZSgpKX0scmVhZDpnYSxkZXN0cm95OmZ1bmN0aW9uKCl7US5sZW5ndGg9MDt1KCk7aGEmJihoYS5yZW1vdmVFdmVudExpc3RlbmVyKFwid2ViZ2xjb250ZXh0bG9zdFwiLExhKSxoYS5yZW1vdmVFdmVudExpc3RlbmVyKFwid2ViZ2xjb250ZXh0cmVzdG9yZWRcIix6YSkpO3NhLmNsZWFyKCk7bGEuY2xlYXIoKTtqYS5jbGVhcigpO2RhLmNsZWFyKCk7cmEuY2xlYXIoKTtrYS5jbGVhcigpO0cmJkcuY2xlYXIoKTtYLmZvckVhY2goZnVuY3Rpb24oYSl7YSgpfSl9LFxuX2dsOnEsX3JlZnJlc2g6QWEscG9sbDpmdW5jdGlvbigpe0soKTtHJiZHLnVwZGF0ZSgpfSxub3c6dmEsc3RhdHM6V30pO2Yub25Eb25lKG51bGwsUyk7cmV0dXJuIFN9fSx7XCIuL2xpYi9hdHRyaWJ1dGVcIjoxLFwiLi9saWIvYnVmZmVyXCI6MixcIi4vbGliL2NvcmVcIjo3LFwiLi9saWIvZHluYW1pY1wiOjgsXCIuL2xpYi9lbGVtZW50c1wiOjksXCIuL2xpYi9leHRlbnNpb25cIjoxMCxcIi4vbGliL2ZyYW1lYnVmZmVyXCI6MTEsXCIuL2xpYi9saW1pdHNcIjoxMixcIi4vbGliL3JlYWRcIjoxMyxcIi4vbGliL3JlbmRlcmJ1ZmZlclwiOjE0LFwiLi9saWIvc2hhZGVyXCI6MTUsXCIuL2xpYi9zdGF0c1wiOjE2LFwiLi9saWIvc3RyaW5nc1wiOjE3LFwiLi9saWIvdGV4dHVyZVwiOjE4LFwiLi9saWIvdGltZXJcIjoxOSxcIi4vbGliL3V0aWwvY2xvY2tcIjoyMCxcIi4vbGliL3V0aWwvZXh0ZW5kXCI6MjIsXCIuL2xpYi91dGlsL3JhZlwiOjI5LFwiLi9saWIvd2ViZ2xcIjozMn1dfSx7fSxbMzNdKSgzMyl9KTtcbiJdfQ==
},{}]},{},[])
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsInJlZ2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIihmdW5jdGlvbiAoZ2xvYmFsKXtcbihmdW5jdGlvbihPYSl7XCJvYmplY3RcIj09PXR5cGVvZiBleHBvcnRzJiZcInVuZGVmaW5lZFwiIT09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1PYSgpOlwiZnVuY3Rpb25cIj09PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLE9hKTooXCJ1bmRlZmluZWRcIiE9PXR5cGVvZiB3aW5kb3c/d2luZG93OlwidW5kZWZpbmVkXCIhPT10eXBlb2YgZ2xvYmFsP2dsb2JhbDpcInVuZGVmaW5lZFwiIT09dHlwZW9mIHNlbGY/c2VsZjp0aGlzKS5jcmVhdGVSRUdMPU9hKCl9KShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBmKHAsdSxsKXtmdW5jdGlvbiBrKGMsYSl7aWYoIXVbY10pe2lmKCFwW2NdKXt2YXIgYj1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFhJiZiKXJldHVybiBiKGMsITApO2lmKHgpcmV0dXJuIHgoYywhMCk7Yj1FcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrYytcIidcIik7dGhyb3cgYi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGI7fWI9XG51W2NdPXtleHBvcnRzOnt9fTtwW2NdWzBdLmNhbGwoYi5leHBvcnRzLGZ1bmN0aW9uKGEpe3ZhciBiPXBbY11bMV1bYV07cmV0dXJuIGsoYj9iOmEpfSxiLGIuZXhwb3J0cyxmLHAsdSxsKX1yZXR1cm4gdVtjXS5leHBvcnRzfWZvcih2YXIgeD1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLHI9MDtyPGwubGVuZ3RoO3IrKylrKGxbcl0pO3JldHVybiBrfSh7MTpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoKXt0aGlzLnc9dGhpcy56PXRoaXMueT10aGlzLng9dGhpcy5zdGF0ZT0wO3RoaXMuYnVmZmVyPW51bGw7dGhpcy5zaXplPTA7dGhpcy5ub3JtYWxpemVkPSExO3RoaXMudHlwZT01MTI2O3RoaXMuZGl2aXNvcj10aGlzLnN0cmlkZT10aGlzLm9mZnNldD0wfXAuZXhwb3J0cz1mdW5jdGlvbihrLHgscixjLGEpe2s9ci5tYXhBdHRyaWJ1dGVzO3g9QXJyYXkoayk7Zm9yKHI9MDtyPGs7KytyKXhbcl09bmV3IGw7cmV0dXJue1JlY29yZDpsLHNjb3BlOnt9LHN0YXRlOnh9fX0sXG57fV0sMjpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoYyl7cmV0dXJuIHRbT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGMpXXwwfWZ1bmN0aW9uIGsoYyxhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYiljW2JdPWFbYl19ZnVuY3Rpb24geChjLGEsYixrLGwscix4KXtmb3IodmFyIGc9MCxoPTA7aDxiOysraClmb3IodmFyIGY9MDtmPGs7KytmKWNbZysrXT1hW2wqaCtyKmYreF19dmFyIHI9ZihcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiKSxjPWYoXCIuL3V0aWwvaXMtbmRhcnJheVwiKSxhPWYoXCIuL3V0aWwvdmFsdWVzXCIpLGI9ZihcIi4vdXRpbC9wb29sXCIpO3U9ZihcIi4vdXRpbC9mbGF0dGVuXCIpO3ZhciBGPXUuZmxhdHRlbixNPXUuc2hhcGUsdD1mKFwiLi9jb25zdGFudHMvYXJyYXl0eXBlcy5qc29uXCIpLHk9ZihcIi4vY29uc3RhbnRzL2R0eXBlcy5qc29uXCIpLGc9ZihcIi4vY29uc3RhbnRzL3VzYWdlLmpzb25cIiksRT1bXTtFWzUxMjBdPTE7RVs1MTIyXT0yO0VbNTEyNF09XG40O0VbNTEyMV09MTtFWzUxMjNdPTI7RVs1MTI1XT00O0VbNTEyNl09NDtwLmV4cG9ydHM9ZnVuY3Rpb24oZix0LG4pe2Z1bmN0aW9uIG0oYyl7dGhpcy5pZD1IKys7dGhpcy5idWZmZXI9Zi5jcmVhdGVCdWZmZXIoKTt0aGlzLnR5cGU9Yzt0aGlzLnVzYWdlPTM1MDQ0O3RoaXMuYnl0ZUxlbmd0aD0wO3RoaXMuZGltZW5zaW9uPTE7dGhpcy5kdHlwZT01MTIxO3RoaXMucGVyc2lzdGVudERhdGE9bnVsbDtuLnByb2ZpbGUmJih0aGlzLnN0YXRzPXtzaXplOjB9KX1mdW5jdGlvbiBCKGMsYSxiKXtjLmJ5dGVMZW5ndGg9YS5ieXRlTGVuZ3RoO2YuYnVmZmVyRGF0YShjLnR5cGUsYSxiKX1mdW5jdGlvbiBwKGEsaCxtLGYsZyxuKXthLnVzYWdlPW07aWYoQXJyYXkuaXNBcnJheShoKSl7aWYoYS5kdHlwZT1mfHw1MTI2LDA8aC5sZW5ndGgpaWYoQXJyYXkuaXNBcnJheShoWzBdKSl7Zz1NKGgpO2Zvcih2YXIgSz1mPTE7SzxnLmxlbmd0aDsrK0spZio9Z1tLXTthLmRpbWVuc2lvbj1mO2g9RihoLFxuZyxhLmR0eXBlKTtCKGEsaCxtKTtuP2EucGVyc2lzdGVudERhdGE9aDpiLmZyZWVUeXBlKGgpfWVsc2VcIm51bWJlclwiPT09dHlwZW9mIGhbMF0/KGEuZGltZW5zaW9uPWcsZz1iLmFsbG9jVHlwZShhLmR0eXBlLGgubGVuZ3RoKSxrKGcsaCksQihhLGcsbSksbj9hLnBlcnNpc3RlbnREYXRhPWc6Yi5mcmVlVHlwZShnKSk6cihoWzBdKSYmKGEuZGltZW5zaW9uPWhbMF0ubGVuZ3RoLGEuZHR5cGU9Znx8bChoWzBdKXx8NTEyNixoPUYoaCxbaC5sZW5ndGgsaFswXS5sZW5ndGhdLGEuZHR5cGUpLEIoYSxoLG0pLG4/YS5wZXJzaXN0ZW50RGF0YT1oOmIuZnJlZVR5cGUoaCkpfWVsc2UgaWYocihoKSlhLmR0eXBlPWZ8fGwoaCksYS5kaW1lbnNpb249ZyxCKGEsaCxtKSxuJiYoYS5wZXJzaXN0ZW50RGF0YT1uZXcgVWludDhBcnJheShuZXcgVWludDhBcnJheShoLmJ1ZmZlcikpKTtlbHNlIGlmKGMoaCkpe2c9aC5zaGFwZTt2YXIgQz1oLnN0cmlkZSxLPWgub2Zmc2V0LHk9MCxxPTAsUz0wLHQ9XG4wOzE9PT1nLmxlbmd0aD8oeT1nWzBdLHE9MSxTPUNbMF0sdD0wKToyPT09Zy5sZW5ndGgmJih5PWdbMF0scT1nWzFdLFM9Q1swXSx0PUNbMV0pO2EuZHR5cGU9Znx8bChoLmRhdGEpfHw1MTI2O2EuZGltZW5zaW9uPXE7Zz1iLmFsbG9jVHlwZShhLmR0eXBlLHkqcSk7eChnLGguZGF0YSx5LHEsUyx0LEspO0IoYSxnLG0pO24/YS5wZXJzaXN0ZW50RGF0YT1nOmIuZnJlZVR5cGUoZyl9fWZ1bmN0aW9uIEwoYyl7dC5idWZmZXJDb3VudC0tO2YuZGVsZXRlQnVmZmVyKGMuYnVmZmVyKTtjLmJ1ZmZlcj1udWxsO2RlbGV0ZSBoW2MuaWRdfXZhciBIPTAsaD17fTttLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7Zi5iaW5kQnVmZmVyKHRoaXMudHlwZSx0aGlzLmJ1ZmZlcil9O20ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtMKHRoaXMpfTt2YXIgZmE9W107bi5wcm9maWxlJiYodC5nZXRUb3RhbEJ1ZmZlclNpemU9ZnVuY3Rpb24oKXt2YXIgYz0wO09iamVjdC5rZXlzKGgpLmZvckVhY2goZnVuY3Rpb24oYSl7Yys9XG5oW2FdLnN0YXRzLnNpemV9KTtyZXR1cm4gY30pO3JldHVybntjcmVhdGU6ZnVuY3Rpb24oYSxCLEgsZmEpe2Z1bmN0aW9uIHUoYSl7dmFyIGg9MzUwNDQsYj1udWxsLHE9MCxrPTAsbT0xO0FycmF5LmlzQXJyYXkoYSl8fHIoYSl8fGMoYSk/Yj1hOlwibnVtYmVyXCI9PT10eXBlb2YgYT9xPWF8MDphJiYoXCJkYXRhXCJpbiBhJiYoYj1hLmRhdGEpLFwidXNhZ2VcImluIGEmJihoPWdbYS51c2FnZV0pLFwidHlwZVwiaW4gYSYmKGs9eVthLnR5cGVdKSxcImRpbWVuc2lvblwiaW4gYSYmKG09YS5kaW1lbnNpb258MCksXCJsZW5ndGhcImluIGEmJihxPWEubGVuZ3RofDApKTtELmJpbmQoKTtiP3AoRCxiLGgsayxtLGZhKTooZi5idWZmZXJEYXRhKEQudHlwZSxxLGgpLEQuZHR5cGU9a3x8NTEyMSxELnVzYWdlPWgsRC5kaW1lbnNpb249bSxELmJ5dGVMZW5ndGg9cSk7bi5wcm9maWxlJiYoRC5zdGF0cy5zaXplPUQuYnl0ZUxlbmd0aCpFW0QuZHR5cGVdKTtyZXR1cm4gdX10LmJ1ZmZlckNvdW50Kys7dmFyIEQ9XG5uZXcgbShCKTtoW0QuaWRdPUQ7SHx8dShhKTt1Ll9yZWdsVHlwZT1cImJ1ZmZlclwiO3UuX2J1ZmZlcj1EO3Uuc3ViZGF0YT1mdW5jdGlvbihhLGgpe3ZhciBtPShofHwwKXwwLHE7RC5iaW5kKCk7aWYoQXJyYXkuaXNBcnJheShhKSl7aWYoMDxhLmxlbmd0aClpZihcIm51bWJlclwiPT09dHlwZW9mIGFbMF0pe3ZhciBnPWIuYWxsb2NUeXBlKEQuZHR5cGUsYS5sZW5ndGgpO2soZyxhKTtmLmJ1ZmZlclN1YkRhdGEoRC50eXBlLG0sZyk7Yi5mcmVlVHlwZShnKX1lbHNlIGlmKEFycmF5LmlzQXJyYXkoYVswXSl8fHIoYVswXSkpcT1NKGEpLGc9RihhLHEsRC5kdHlwZSksZi5idWZmZXJTdWJEYXRhKEQudHlwZSxtLGcpLGIuZnJlZVR5cGUoZyl9ZWxzZSBpZihyKGEpKWYuYnVmZmVyU3ViRGF0YShELnR5cGUsbSxhKTtlbHNlIGlmKGMoYSkpe3E9YS5zaGFwZTt2YXIgbj1hLnN0cmlkZSxCPWc9MCx5PTAsdD0wOzE9PT1xLmxlbmd0aD8oZz1xWzBdLEI9MSx5PW5bMF0sdD0wKToyPT09cS5sZW5ndGgmJlxuKGc9cVswXSxCPXFbMV0seT1uWzBdLHQ9blsxXSk7cT1BcnJheS5pc0FycmF5KGEuZGF0YSk/RC5kdHlwZTpsKGEuZGF0YSk7cT1iLmFsbG9jVHlwZShxLGcqQik7eChxLGEuZGF0YSxnLEIseSx0LGEub2Zmc2V0KTtmLmJ1ZmZlclN1YkRhdGEoRC50eXBlLG0scSk7Yi5mcmVlVHlwZShxKX1yZXR1cm4gdX07bi5wcm9maWxlJiYodS5zdGF0cz1ELnN0YXRzKTt1LmRlc3Ryb3k9ZnVuY3Rpb24oKXtMKEQpfTtyZXR1cm4gdX0sY3JlYXRlU3RyZWFtOmZ1bmN0aW9uKGEsYyl7dmFyIGg9ZmEucG9wKCk7aHx8KGg9bmV3IG0oYSkpO2guYmluZCgpO3AoaCxjLDM1MDQwLDAsMSwhMSk7cmV0dXJuIGh9LGRlc3Ryb3lTdHJlYW06ZnVuY3Rpb24oYSl7ZmEucHVzaChhKX0sY2xlYXI6ZnVuY3Rpb24oKXthKGgpLmZvckVhY2goTCk7ZmEuZm9yRWFjaChMKX0sZ2V0QnVmZmVyOmZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLl9idWZmZXIgaW5zdGFuY2VvZiBtP2EuX2J1ZmZlcjpudWxsfSxyZXN0b3JlOmZ1bmN0aW9uKCl7YShoKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EuYnVmZmVyPVxuZi5jcmVhdGVCdWZmZXIoKTtmLmJpbmRCdWZmZXIoYS50eXBlLGEuYnVmZmVyKTtmLmJ1ZmZlckRhdGEoYS50eXBlLGEucGVyc2lzdGVudERhdGF8fGEuYnl0ZUxlbmd0aCxhLnVzYWdlKX0pfSxfaW5pdEJ1ZmZlcjpwfX19LHtcIi4vY29uc3RhbnRzL2FycmF5dHlwZXMuanNvblwiOjMsXCIuL2NvbnN0YW50cy9kdHlwZXMuanNvblwiOjQsXCIuL2NvbnN0YW50cy91c2FnZS5qc29uXCI6NixcIi4vdXRpbC9mbGF0dGVuXCI6MjMsXCIuL3V0aWwvaXMtbmRhcnJheVwiOjI1LFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCI6MjYsXCIuL3V0aWwvcG9vbFwiOjI4LFwiLi91dGlsL3ZhbHVlc1wiOjMxfV0sMzpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz17XCJbb2JqZWN0IEludDhBcnJheV1cIjo1MTIwLFwiW29iamVjdCBJbnQxNkFycmF5XVwiOjUxMjIsXCJbb2JqZWN0IEludDMyQXJyYXldXCI6NTEyNCxcIltvYmplY3QgVWludDhBcnJheV1cIjo1MTIxLFwiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV1cIjo1MTIxLFwiW29iamVjdCBVaW50MTZBcnJheV1cIjo1MTIzLFxuXCJbb2JqZWN0IFVpbnQzMkFycmF5XVwiOjUxMjUsXCJbb2JqZWN0IEZsb2F0MzJBcnJheV1cIjo1MTI2LFwiW29iamVjdCBGbG9hdDY0QXJyYXldXCI6NTEyMSxcIltvYmplY3QgQXJyYXlCdWZmZXJdXCI6NTEyMX19LHt9XSw0OltmdW5jdGlvbihmLHAsdSl7cC5leHBvcnRzPXtpbnQ4OjUxMjAsaW50MTY6NTEyMixpbnQzMjo1MTI0LHVpbnQ4OjUxMjEsdWludDE2OjUxMjMsdWludDMyOjUxMjUsXCJmbG9hdFwiOjUxMjYsZmxvYXQzMjo1MTI2fX0se31dLDU6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9e3BvaW50czowLHBvaW50OjAsbGluZXM6MSxsaW5lOjEsXCJsaW5lIGxvb3BcIjoyLFwibGluZSBzdHJpcFwiOjMsdHJpYW5nbGVzOjQsdHJpYW5nbGU6NCxcInRyaWFuZ2xlIHN0cmlwXCI6NSxcInRyaWFuZ2xlIGZhblwiOjZ9fSx7fV0sNjpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz17XCJzdGF0aWNcIjozNTA0NCxkeW5hbWljOjM1MDQ4LHN0cmVhbTozNTA0MH19LHt9XSw3OltmdW5jdGlvbihmLHAsdSl7ZnVuY3Rpb24gbChhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKXx8XG5NKGEpfHx0KGEpfWZ1bmN0aW9uIGsoYSl7cmV0dXJuIGEuc29ydChmdW5jdGlvbihhLGMpe3JldHVyblwidmlld3BvcnRcIj09PWE/LTE6XCJ2aWV3cG9ydFwiPT09Yz8xOmE8Yz8tMToxfSl9ZnVuY3Rpb24geChhLGMsYixrKXt0aGlzLnRoaXNEZXA9YTt0aGlzLmNvbnRleHREZXA9Yzt0aGlzLnByb3BEZXA9Yjt0aGlzLmFwcGVuZD1rfWZ1bmN0aW9uIHIoYSl7cmV0dXJuIGEmJiEoYS50aGlzRGVwfHxhLmNvbnRleHREZXB8fGEucHJvcERlcCl9ZnVuY3Rpb24gYyhhKXtyZXR1cm4gbmV3IHgoITEsITEsITEsYSl9ZnVuY3Rpb24gYShhLGMpe3ZhciBiPWEudHlwZTtyZXR1cm4gMD09PWI/KGI9YS5kYXRhLmxlbmd0aCxuZXcgeCghMCwxPD1iLDI8PWIsYykpOjQ9PT1iPyhiPWEuZGF0YSxuZXcgeChiLnRoaXNEZXAsYi5jb250ZXh0RGVwLGIucHJvcERlcCxjKSk6bmV3IHgoMz09PWIsMj09PWIsMT09PWIsYyl9dmFyIGI9ZihcIi4vdXRpbC9jb2RlZ2VuXCIpLEY9ZihcIi4vdXRpbC9sb29wXCIpLFxuTT1mKFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCIpLHQ9ZihcIi4vdXRpbC9pcy1uZGFycmF5XCIpLHk9ZihcIi4vdXRpbC9pcy1hcnJheS1saWtlXCIpLGc9ZihcIi4vZHluYW1pY1wiKSxFPWYoXCIuL2NvbnN0YW50cy9wcmltaXRpdmVzLmpzb25cIiksQz1mKFwiLi9jb25zdGFudHMvZHR5cGVzLmpzb25cIiksTj1bXCJ4XCIsXCJ5XCIsXCJ6XCIsXCJ3XCJdLG49XCJibGVuZC5mdW5jIGJsZW5kLmVxdWF0aW9uIHN0ZW5jaWwuZnVuYyBzdGVuY2lsLm9wRnJvbnQgc3RlbmNpbC5vcEJhY2sgc2FtcGxlLmNvdmVyYWdlIHZpZXdwb3J0IHNjaXNzb3IuYm94IHBvbHlnb25PZmZzZXQub2Zmc2V0XCIuc3BsaXQoXCIgXCIpLG09ezA6MCwxOjEsemVybzowLG9uZToxLFwic3JjIGNvbG9yXCI6NzY4LFwib25lIG1pbnVzIHNyYyBjb2xvclwiOjc2OSxcInNyYyBhbHBoYVwiOjc3MCxcIm9uZSBtaW51cyBzcmMgYWxwaGFcIjo3NzEsXCJkc3QgY29sb3JcIjo3NzQsXCJvbmUgbWludXMgZHN0IGNvbG9yXCI6Nzc1LFwiZHN0IGFscGhhXCI6NzcyLFwib25lIG1pbnVzIGRzdCBhbHBoYVwiOjc3MyxcblwiY29uc3RhbnQgY29sb3JcIjozMjc2OSxcIm9uZSBtaW51cyBjb25zdGFudCBjb2xvclwiOjMyNzcwLFwiY29uc3RhbnQgYWxwaGFcIjozMjc3MSxcIm9uZSBtaW51cyBjb25zdGFudCBhbHBoYVwiOjMyNzcyLFwic3JjIGFscGhhIHNhdHVyYXRlXCI6Nzc2fSxCPXtuZXZlcjo1MTIsbGVzczo1MTMsXCI8XCI6NTEzLGVxdWFsOjUxNCxcIj1cIjo1MTQsXCI9PVwiOjUxNCxcIj09PVwiOjUxNCxsZXF1YWw6NTE1LFwiPD1cIjo1MTUsZ3JlYXRlcjo1MTYsXCI+XCI6NTE2LG5vdGVxdWFsOjUxNyxcIiE9XCI6NTE3LFwiIT09XCI6NTE3LGdlcXVhbDo1MTgsXCI+PVwiOjUxOCxhbHdheXM6NTE5fSxZPXswOjAsemVybzowLGtlZXA6NzY4MCxyZXBsYWNlOjc2ODEsaW5jcmVtZW50Ojc2ODIsZGVjcmVtZW50Ojc2ODMsXCJpbmNyZW1lbnQgd3JhcFwiOjM0MDU1LFwiZGVjcmVtZW50IHdyYXBcIjozNDA1NixpbnZlcnQ6NTM4Nn0sTD17Y3c6MjMwNCxjY3c6MjMwNX0sSD1uZXcgeCghMSwhMSwhMSxmdW5jdGlvbigpe30pO3AuZXhwb3J0cz1mdW5jdGlvbihoLFxuZix0LHAsTSx1LFosRCxLLEFhLHZhLHEsUyxtYSxnYSl7ZnVuY3Rpb24gVyhkKXtyZXR1cm4gZC5yZXBsYWNlKFwiLlwiLFwiX1wiKX1mdW5jdGlvbiBSKGQsYSxjKXt2YXIgYj1XKGQpO3cucHVzaChkKTt6W2JdPWVbYl09ISFjO3dhW2JdPWF9ZnVuY3Rpb24gRyhkLGEsYyl7dmFyIGI9VyhkKTt3LnB1c2goZCk7QXJyYXkuaXNBcnJheShjKT8oZVtiXT1jLnNsaWNlKCkseltiXT1jLnNsaWNlKCkpOmVbYl09eltiXT1jO3hhW2JdPWF9ZnVuY3Rpb24gYmEoKXt2YXIgZD1iKCksYT1kLmxpbmssYz1kLmdsb2JhbDtkLmlkPVJhKys7ZC5iYXRjaElkPVwiMFwiO3ZhciBoPWEoUWEpLEE9ZC5zaGFyZWQ9e3Byb3BzOlwiYTBcIn07T2JqZWN0LmtleXMoUWEpLmZvckVhY2goZnVuY3Rpb24oZCl7QVtkXT1jLmRlZihoLFwiLlwiLGQpfSk7dmFyIEo9ZC5uZXh0PXt9LFA9ZC5jdXJyZW50PXt9O09iamVjdC5rZXlzKHhhKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe0FycmF5LmlzQXJyYXkoZVtkXSkmJihKW2RdPWMuZGVmKEEubmV4dCxcblwiLlwiLGQpLFBbZF09Yy5kZWYoQS5jdXJyZW50LFwiLlwiLGQpKX0pO3ZhciBTYT1kLmNvbnN0YW50cz17fTtPYmplY3Qua2V5cyhNYSkuZm9yRWFjaChmdW5jdGlvbihkKXtTYVtkXT1jLmRlZihKU09OLnN0cmluZ2lmeShNYVtkXSkpfSk7ZC5pbnZva2U9ZnVuY3Rpb24oZSxJKXtzd2l0Y2goSS50eXBlKXtjYXNlIDA6dmFyIGM9W1widGhpc1wiLEEuY29udGV4dCxBLnByb3BzLGQuYmF0Y2hJZF07cmV0dXJuIGUuZGVmKGEoSS5kYXRhKSxcIi5jYWxsKFwiLGMuc2xpY2UoMCxNYXRoLm1heChJLmRhdGEubGVuZ3RoKzEsNCkpLFwiKVwiKTtjYXNlIDE6cmV0dXJuIGUuZGVmKEEucHJvcHMsSS5kYXRhKTtjYXNlIDI6cmV0dXJuIGUuZGVmKEEuY29udGV4dCxJLmRhdGEpO2Nhc2UgMzpyZXR1cm4gZS5kZWYoXCJ0aGlzXCIsSS5kYXRhKTtjYXNlIDQ6cmV0dXJuIEkuZGF0YS5hcHBlbmQoZCxlKSxJLmRhdGEucmVmfX07ZC5hdHRyaWJDYWNoZT17fTt2YXIgST17fTtkLnNjb3BlQXR0cmliPWZ1bmN0aW9uKGQpe2Q9XG5mLmlkKGQpO2lmKGQgaW4gSSlyZXR1cm4gSVtkXTt2YXIgZT1BYS5zY29wZVtkXTtlfHwoZT1BYS5zY29wZVtkXT1uZXcgQmEpO3JldHVybiBJW2RdPWEoZSl9O3JldHVybiBkfWZ1bmN0aW9uIG5hKGQpe3ZhciBlPWRbXCJzdGF0aWNcIl07ZD1kLmR5bmFtaWM7dmFyIGI7aWYoXCJwcm9maWxlXCJpbiBlKXt2YXIgaD0hIWUucHJvZmlsZTtiPWMoZnVuY3Rpb24oZCxlKXtyZXR1cm4gaH0pO2IuZW5hYmxlPWh9ZWxzZSBpZihcInByb2ZpbGVcImluIGQpe3ZhciBBPWQucHJvZmlsZTtiPWEoQSxmdW5jdGlvbihkLGUpe3JldHVybiBkLmludm9rZShlLEEpfSl9cmV0dXJuIGJ9ZnVuY3Rpb24geWEoZCxlKXt2YXIgYj1kW1wic3RhdGljXCJdLGg9ZC5keW5hbWljO2lmKFwiZnJhbWVidWZmZXJcImluIGIpe3ZhciBBPWIuZnJhbWVidWZmZXI7cmV0dXJuIEE/KEE9RC5nZXRGcmFtZWJ1ZmZlcihBKSxjKGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5saW5rKEEpLHY9ZC5zaGFyZWQ7ZS5zZXQodi5mcmFtZWJ1ZmZlcixcblwiLm5leHRcIixhKTt2PXYuY29udGV4dDtlLnNldCh2LFwiLmZyYW1lYnVmZmVyV2lkdGhcIixhK1wiLndpZHRoXCIpO2Uuc2V0KHYsXCIuZnJhbWVidWZmZXJIZWlnaHRcIixhK1wiLmhlaWdodFwiKTtyZXR1cm4gYX0pKTpjKGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5zaGFyZWQ7ZS5zZXQoYS5mcmFtZWJ1ZmZlcixcIi5uZXh0XCIsXCJudWxsXCIpO2E9YS5jb250ZXh0O2Uuc2V0KGEsXCIuZnJhbWVidWZmZXJXaWR0aFwiLGErXCIuZHJhd2luZ0J1ZmZlcldpZHRoXCIpO2Uuc2V0KGEsXCIuZnJhbWVidWZmZXJIZWlnaHRcIixhK1wiLmRyYXdpbmdCdWZmZXJIZWlnaHRcIik7cmV0dXJuXCJudWxsXCJ9KX1pZihcImZyYW1lYnVmZmVyXCJpbiBoKXt2YXIgSj1oLmZyYW1lYnVmZmVyO3JldHVybiBhKEosZnVuY3Rpb24oZCxlKXt2YXIgYT1kLmludm9rZShlLEopLHY9ZC5zaGFyZWQsYz12LmZyYW1lYnVmZmVyLGE9ZS5kZWYoYyxcIi5nZXRGcmFtZWJ1ZmZlcihcIixhLFwiKVwiKTtlLnNldChjLFwiLm5leHRcIixhKTt2PXYuY29udGV4dDtlLnNldCh2LFxuXCIuZnJhbWVidWZmZXJXaWR0aFwiLGErXCI/XCIrYStcIi53aWR0aDpcIit2K1wiLmRyYXdpbmdCdWZmZXJXaWR0aFwiKTtlLnNldCh2LFwiLmZyYW1lYnVmZmVySGVpZ2h0XCIsYStcIj9cIithK1wiLmhlaWdodDpcIit2K1wiLmRyYXdpbmdCdWZmZXJIZWlnaHRcIik7cmV0dXJuIGF9KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBVKGQsZSxjKXtmdW5jdGlvbiBiKGQpe2lmKGQgaW4gaCl7dmFyIEk9aFtkXTtkPSEwO3ZhciBjPUkueHwwLHFhPUkueXwwLFAsYWE7XCJ3aWR0aFwiaW4gST9QPUkud2lkdGh8MDpkPSExO1wiaGVpZ2h0XCJpbiBJP2FhPUkuaGVpZ2h0fDA6ZD0hMTtyZXR1cm4gbmV3IHgoIWQmJmUmJmUudGhpc0RlcCwhZCYmZSYmZS5jb250ZXh0RGVwLCFkJiZlJiZlLnByb3BEZXAsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLnNoYXJlZC5jb250ZXh0LHY9UDtcIndpZHRoXCJpbiBJfHwodj1lLmRlZihhLFwiLlwiLFwiZnJhbWVidWZmZXJXaWR0aFwiLFwiLVwiLGMpKTt2YXIgYj1hYTtcImhlaWdodFwiaW4gSXx8KGI9ZS5kZWYoYSxcblwiLlwiLFwiZnJhbWVidWZmZXJIZWlnaHRcIixcIi1cIixxYSkpO3JldHVybltjLHFhLHYsYl19KX1pZihkIGluIEope3ZhciB3PUpbZF07ZD1hKHcsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLmludm9rZShlLHcpLEk9ZC5zaGFyZWQuY29udGV4dCxjPWUuZGVmKGEsXCIueHwwXCIpLHY9ZS5kZWYoYSxcIi55fDBcIikscWE9ZS5kZWYoJ1wid2lkdGhcIiBpbiAnLGEsXCI/XCIsYSxcIi53aWR0aHwwOlwiLFwiKFwiLEksXCIuXCIsXCJmcmFtZWJ1ZmZlcldpZHRoXCIsXCItXCIsYyxcIilcIiksYT1lLmRlZignXCJoZWlnaHRcIiBpbiAnLGEsXCI/XCIsYSxcIi5oZWlnaHR8MDpcIixcIihcIixJLFwiLlwiLFwiZnJhbWVidWZmZXJIZWlnaHRcIixcIi1cIix2LFwiKVwiKTtyZXR1cm5bYyx2LHFhLGFdfSk7ZSYmKGQudGhpc0RlcD1kLnRoaXNEZXB8fGUudGhpc0RlcCxkLmNvbnRleHREZXA9ZC5jb250ZXh0RGVwfHxlLmNvbnRleHREZXAsZC5wcm9wRGVwPWQucHJvcERlcHx8ZS5wcm9wRGVwKTtyZXR1cm4gZH1yZXR1cm4gZT9uZXcgeChlLnRoaXNEZXAsZS5jb250ZXh0RGVwLFxuZS5wcm9wRGVwLGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5zaGFyZWQuY29udGV4dDtyZXR1cm5bMCwwLGUuZGVmKGEsXCIuXCIsXCJmcmFtZWJ1ZmZlcldpZHRoXCIpLGUuZGVmKGEsXCIuXCIsXCJmcmFtZWJ1ZmZlckhlaWdodFwiKV19KTpudWxsfXZhciBoPWRbXCJzdGF0aWNcIl0sSj1kLmR5bmFtaWM7aWYoZD1iKFwidmlld3BvcnRcIikpe3ZhciBQPWQ7ZD1uZXcgeChkLnRoaXNEZXAsZC5jb250ZXh0RGVwLGQucHJvcERlcCxmdW5jdGlvbihkLGUpe3ZhciBhPVAuYXBwZW5kKGQsZSksYz1kLnNoYXJlZC5jb250ZXh0O2Uuc2V0KGMsXCIudmlld3BvcnRXaWR0aFwiLGFbMl0pO2Uuc2V0KGMsXCIudmlld3BvcnRIZWlnaHRcIixhWzNdKTtyZXR1cm4gYX0pfXJldHVybnt2aWV3cG9ydDpkLHNjaXNzb3JfYm94OmIoXCJzY2lzc29yLmJveFwiKX19ZnVuY3Rpb24gaWEoZCl7ZnVuY3Rpb24gZShkKXtpZihkIGluIGIpe3ZhciBJPWYuaWQoYltkXSk7ZD1jKGZ1bmN0aW9uKCl7cmV0dXJuIEl9KTtkLmlkPUk7cmV0dXJuIGR9aWYoZCBpblxuaCl7dmFyIHY9aFtkXTtyZXR1cm4gYSh2LGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5pbnZva2UoZSx2KTtyZXR1cm4gZS5kZWYoZC5zaGFyZWQuc3RyaW5ncyxcIi5pZChcIixhLFwiKVwiKX0pfXJldHVybiBudWxsfXZhciBiPWRbXCJzdGF0aWNcIl0saD1kLmR5bmFtaWMsQT1lKFwiZnJhZ1wiKSxKPWUoXCJ2ZXJ0XCIpLFA9bnVsbDtyKEEpJiZyKEopPyhQPXZhLnByb2dyYW0oSi5pZCxBLmlkKSxkPWMoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC5saW5rKFApfSkpOmQ9bmV3IHgoQSYmQS50aGlzRGVwfHxKJiZKLnRoaXNEZXAsQSYmQS5jb250ZXh0RGVwfHxKJiZKLmNvbnRleHREZXAsQSYmQS5wcm9wRGVwfHxKJiZKLnByb3BEZXAsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLnNoYXJlZC5zaGFkZXIsYztjPUE/QS5hcHBlbmQoZCxlKTplLmRlZihhLFwiLlwiLFwiZnJhZ1wiKTt2YXIgdjt2PUo/Si5hcHBlbmQoZCxlKTplLmRlZihhLFwiLlwiLFwidmVydFwiKTtyZXR1cm4gZS5kZWYoYStcIi5wcm9ncmFtKFwiK3YrXCIsXCIrYytcblwiKVwiKX0pO3JldHVybntmcmFnOkEsdmVydDpKLHByb2dWYXI6ZCxwcm9ncmFtOlB9fWZ1bmN0aW9uIGthKGQsZSl7ZnVuY3Rpb24gYihkLGUpe2lmKGQgaW4gaCl7dmFyIHY9aFtkXXwwO3JldHVybiBjKGZ1bmN0aW9uKGQsYSl7ZSYmKGQuT0ZGU0VUPXYpO3JldHVybiB2fSl9aWYoZCBpbiBBKXt2YXIgcWE9QVtkXTtyZXR1cm4gYShxYSxmdW5jdGlvbihkLGEpe3ZhciBjPWQuaW52b2tlKGEscWEpO2UmJihkLk9GRlNFVD1jKTtyZXR1cm4gY30pfXJldHVybiBlJiZKP2MoZnVuY3Rpb24oZCxlKXtkLk9GRlNFVD1cIjBcIjtyZXR1cm4gMH0pOm51bGx9dmFyIGg9ZFtcInN0YXRpY1wiXSxBPWQuZHluYW1pYyxKPWZ1bmN0aW9uKCl7aWYoXCJlbGVtZW50c1wiaW4gaCl7dmFyIGQ9aC5lbGVtZW50cztsKGQpP2Q9dS5nZXRFbGVtZW50cyh1LmNyZWF0ZShkLCEwKSk6ZCYmKGQ9dS5nZXRFbGVtZW50cyhkKSk7dmFyIGU9YyhmdW5jdGlvbihlLGEpe2lmKGQpe3ZhciBjPWUubGluayhkKTtyZXR1cm4gZS5FTEVNRU5UUz1cbmN9cmV0dXJuIGUuRUxFTUVOVFM9bnVsbH0pO2UudmFsdWU9ZDtyZXR1cm4gZX1pZihcImVsZW1lbnRzXCJpbiBBKXt2YXIgdj1BLmVsZW1lbnRzO3JldHVybiBhKHYsZnVuY3Rpb24oZCxlKXt2YXIgYT1kLnNoYXJlZCxjPWEuaXNCdWZmZXJBcmdzLGE9YS5lbGVtZW50cyxJPWQuaW52b2tlKGUsdiksYj1lLmRlZihcIm51bGxcIiksYz1lLmRlZihjLFwiKFwiLEksXCIpXCIpLEk9ZC5jb25kKGMpLnRoZW4oYixcIj1cIixhLFwiLmNyZWF0ZVN0cmVhbShcIixJLFwiKTtcIilbXCJlbHNlXCJdKGIsXCI9XCIsYSxcIi5nZXRFbGVtZW50cyhcIixJLFwiKTtcIik7ZS5lbnRyeShJKTtlLmV4aXQoZC5jb25kKGMpLnRoZW4oYSxcIi5kZXN0cm95U3RyZWFtKFwiLGIsXCIpO1wiKSk7cmV0dXJuIGQuRUxFTUVOVFM9Yn0pfXJldHVybiBudWxsfSgpLFA9YihcIm9mZnNldFwiLCEwKTtyZXR1cm57ZWxlbWVudHM6SixwcmltaXRpdmU6ZnVuY3Rpb24oKXtpZihcInByaW1pdGl2ZVwiaW4gaCl7dmFyIGQ9aC5wcmltaXRpdmU7cmV0dXJuIGMoZnVuY3Rpb24oZSxcbmEpe3JldHVybiBFW2RdfSl9aWYoXCJwcmltaXRpdmVcImluIEEpe3ZhciBlPUEucHJpbWl0aXZlO3JldHVybiBhKGUsZnVuY3Rpb24oZCxhKXt2YXIgYz1kLmNvbnN0YW50cy5wcmltVHlwZXMsdj1kLmludm9rZShhLGUpO3JldHVybiBhLmRlZihjLFwiW1wiLHYsXCJdXCIpfSl9cmV0dXJuIEo/cihKKT9KLnZhbHVlP2MoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZS5kZWYoZC5FTEVNRU5UUyxcIi5wcmltVHlwZVwiKX0pOmMoZnVuY3Rpb24oKXtyZXR1cm4gNH0pOm5ldyB4KEoudGhpc0RlcCxKLmNvbnRleHREZXAsSi5wcm9wRGVwLGZ1bmN0aW9uKGQsZSl7dmFyIGE9ZC5FTEVNRU5UUztyZXR1cm4gZS5kZWYoYSxcIj9cIixhLFwiLnByaW1UeXBlOlwiLDQpfSk6bnVsbH0oKSxjb3VudDpmdW5jdGlvbigpe2lmKFwiY291bnRcImluIGgpe3ZhciBkPWguY291bnR8MDtyZXR1cm4gYyhmdW5jdGlvbigpe3JldHVybiBkfSl9aWYoXCJjb3VudFwiaW4gQSl7dmFyIGU9QS5jb3VudDtyZXR1cm4gYShlLGZ1bmN0aW9uKGQsXG5hKXtyZXR1cm4gZC5pbnZva2UoYSxlKX0pfXJldHVybiBKP3IoSik/Sj9QP25ldyB4KFAudGhpc0RlcCxQLmNvbnRleHREZXAsUC5wcm9wRGVwLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGUuZGVmKGQuRUxFTUVOVFMsXCIudmVydENvdW50LVwiLGQuT0ZGU0VUKX0pOmMoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZS5kZWYoZC5FTEVNRU5UUyxcIi52ZXJ0Q291bnRcIil9KTpjKGZ1bmN0aW9uKCl7cmV0dXJuLTF9KTpuZXcgeChKLnRoaXNEZXB8fFAudGhpc0RlcCxKLmNvbnRleHREZXB8fFAuY29udGV4dERlcCxKLnByb3BEZXB8fFAucHJvcERlcCxmdW5jdGlvbihkLGUpe3ZhciBhPWQuRUxFTUVOVFM7cmV0dXJuIGQuT0ZGU0VUP2UuZGVmKGEsXCI/XCIsYSxcIi52ZXJ0Q291bnQtXCIsZC5PRkZTRVQsXCI6LTFcIik6ZS5kZWYoYSxcIj9cIixhLFwiLnZlcnRDb3VudDotMVwiKX0pOm51bGx9KCksaW5zdGFuY2VzOmIoXCJpbnN0YW5jZXNcIiwhMSksb2Zmc2V0OlB9fWZ1bmN0aW9uIHJhKGQsZSl7dmFyIGI9ZFtcInN0YXRpY1wiXSxcbmg9ZC5keW5hbWljLEE9e307dy5mb3JFYWNoKGZ1bmN0aW9uKGQpe2Z1bmN0aW9uIGUoSSx3KXtpZihkIGluIGIpe3ZhciBxYT1JKGJbZF0pO0Fbdl09YyhmdW5jdGlvbigpe3JldHVybiBxYX0pfWVsc2UgaWYoZCBpbiBoKXt2YXIgUD1oW2RdO0Fbdl09YShQLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIHcoZCxlLGQuaW52b2tlKGUsUCkpfSl9fXZhciB2PVcoZCk7c3dpdGNoKGQpe2Nhc2UgXCJjdWxsLmVuYWJsZVwiOmNhc2UgXCJibGVuZC5lbmFibGVcIjpjYXNlIFwiZGl0aGVyXCI6Y2FzZSBcInN0ZW5jaWwuZW5hYmxlXCI6Y2FzZSBcImRlcHRoLmVuYWJsZVwiOmNhc2UgXCJzY2lzc29yLmVuYWJsZVwiOmNhc2UgXCJwb2x5Z29uT2Zmc2V0LmVuYWJsZVwiOmNhc2UgXCJzYW1wbGUuYWxwaGFcIjpjYXNlIFwic2FtcGxlLmVuYWJsZVwiOmNhc2UgXCJkZXB0aC5tYXNrXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIGR9LGZ1bmN0aW9uKGQsZSxhKXtyZXR1cm4gYX0pO2Nhc2UgXCJkZXB0aC5mdW5jXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIEJbZF19LFxuZnVuY3Rpb24oZCxlLGEpe3JldHVybiBlLmRlZihkLmNvbnN0YW50cy5jb21wYXJlRnVuY3MsXCJbXCIsYSxcIl1cIil9KTtjYXNlIFwiZGVwdGgucmFuZ2VcIjpyZXR1cm4gZShmdW5jdGlvbihkKXtyZXR1cm4gZH0sZnVuY3Rpb24oZCxlLGEpe2Q9ZS5kZWYoXCIrXCIsYSxcIlswXVwiKTtlPWUuZGVmKFwiK1wiLGEsXCJbMV1cIik7cmV0dXJuW2QsZV19KTtjYXNlIFwiYmxlbmQuZnVuY1wiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVyblttW1wic3JjUkdCXCJpbiBkP2Quc3JjUkdCOmQuc3JjXSxtW1wiZHN0UkdCXCJpbiBkP2QuZHN0UkdCOmQuZHN0XSxtW1wic3JjQWxwaGFcImluIGQ/ZC5zcmNBbHBoYTpkLnNyY10sbVtcImRzdEFscGhhXCJpbiBkP2QuZHN0QWxwaGE6ZC5kc3RdXX0sZnVuY3Rpb24oZCxlLGEpe2Z1bmN0aW9uIGMoZCx2KXtyZXR1cm4gZS5kZWYoJ1wiJyxkLHYsJ1wiIGluICcsYSxcIj9cIixhLFwiLlwiLGQsdixcIjpcIixhLFwiLlwiLGQpfWQ9ZC5jb25zdGFudHMuYmxlbmRGdW5jczt2YXIgdj1jKFwic3JjXCIsXCJSR0JcIiksXG5iPWMoXCJkc3RcIixcIlJHQlwiKSx2PWUuZGVmKGQsXCJbXCIsdixcIl1cIiksaD1lLmRlZihkLFwiW1wiLGMoXCJzcmNcIixcIkFscGhhXCIpLFwiXVwiKSxiPWUuZGVmKGQsXCJbXCIsYixcIl1cIik7ZD1lLmRlZihkLFwiW1wiLGMoXCJkc3RcIixcIkFscGhhXCIpLFwiXVwiKTtyZXR1cm5bdixiLGgsZF19KTtjYXNlIFwiYmxlbmQuZXF1YXRpb25cIjpyZXR1cm4gZShmdW5jdGlvbihkKXtpZihcInN0cmluZ1wiPT09dHlwZW9mIGQpcmV0dXJuW2NhW2RdLGNhW2RdXTtpZihcIm9iamVjdFwiPT09dHlwZW9mIGQpcmV0dXJuW2NhW2QucmdiXSxjYVtkLmFscGhhXV19LGZ1bmN0aW9uKGQsZSxhKXt2YXIgYz1kLmNvbnN0YW50cy5ibGVuZEVxdWF0aW9ucyx2PWUuZGVmKCksYj1lLmRlZigpO2Q9ZC5jb25kKFwidHlwZW9mIFwiLGEsJz09PVwic3RyaW5nXCInKTtkLnRoZW4odixcIj1cIixiLFwiPVwiLGMsXCJbXCIsYSxcIl07XCIpO2RbXCJlbHNlXCJdKHYsXCI9XCIsYyxcIltcIixhLFwiLnJnYl07XCIsYixcIj1cIixjLFwiW1wiLGEsXCIuYWxwaGFdO1wiKTtlKGQpO3JldHVyblt2LGJdfSk7XG5jYXNlIFwiYmxlbmQuY29sb3JcIjpyZXR1cm4gZShmdW5jdGlvbihkKXtyZXR1cm4gRig0LGZ1bmN0aW9uKGUpe3JldHVybitkW2VdfSl9LGZ1bmN0aW9uKGQsZSxhKXtyZXR1cm4gRig0LGZ1bmN0aW9uKGQpe3JldHVybiBlLmRlZihcIitcIixhLFwiW1wiLGQsXCJdXCIpfSl9KTtjYXNlIFwic3RlbmNpbC5tYXNrXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIGR8MH0sZnVuY3Rpb24oZCxlLGEpe3JldHVybiBlLmRlZihhLFwifDBcIil9KTtjYXNlIFwic3RlbmNpbC5mdW5jXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuW0JbZC5jbXB8fFwia2VlcFwiXSxkLnJlZnx8MCxcIm1hc2tcImluIGQ/ZC5tYXNrOi0xXX0sZnVuY3Rpb24oZCxlLGEpe2Q9ZS5kZWYoJ1wiY21wXCIgaW4gJyxhLFwiP1wiLGQuY29uc3RhbnRzLmNvbXBhcmVGdW5jcyxcIltcIixhLFwiLmNtcF1cIixcIjpcIiw3NjgwKTt2YXIgYz1lLmRlZihhLFwiLnJlZnwwXCIpO2U9ZS5kZWYoJ1wibWFza1wiIGluICcsYSxcIj9cIixhLFwiLm1hc2t8MDotMVwiKTtyZXR1cm5bZCxcbmMsZV19KTtjYXNlIFwic3RlbmNpbC5vcEZyb250XCI6Y2FzZSBcInN0ZW5jaWwub3BCYWNrXCI6cmV0dXJuIGUoZnVuY3Rpb24oZSl7cmV0dXJuW1wic3RlbmNpbC5vcEJhY2tcIj09PWQ/MTAyOToxMDI4LFlbZS5mYWlsfHxcImtlZXBcIl0sWVtlLnpmYWlsfHxcImtlZXBcIl0sWVtlLnpwYXNzfHxcImtlZXBcIl1dfSxmdW5jdGlvbihlLGEsYyl7ZnVuY3Rpb24gdihkKXtyZXR1cm4gYS5kZWYoJ1wiJyxkLCdcIiBpbiAnLGMsXCI/XCIsYixcIltcIixjLFwiLlwiLGQsXCJdOlwiLDc2ODApfXZhciBiPWUuY29uc3RhbnRzLnN0ZW5jaWxPcHM7cmV0dXJuW1wic3RlbmNpbC5vcEJhY2tcIj09PWQ/MTAyOToxMDI4LHYoXCJmYWlsXCIpLHYoXCJ6ZmFpbFwiKSx2KFwienBhc3NcIildfSk7Y2FzZSBcInBvbHlnb25PZmZzZXQub2Zmc2V0XCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuW2QuZmFjdG9yfDAsZC51bml0c3wwXX0sZnVuY3Rpb24oZCxlLGEpe2Q9ZS5kZWYoYSxcIi5mYWN0b3J8MFwiKTtlPWUuZGVmKGEsXCIudW5pdHN8MFwiKTtyZXR1cm5bZCxcbmVdfSk7Y2FzZSBcImN1bGwuZmFjZVwiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3ZhciBlPTA7XCJmcm9udFwiPT09ZD9lPTEwMjg6XCJiYWNrXCI9PT1kJiYoZT0xMDI5KTtyZXR1cm4gZX0sZnVuY3Rpb24oZCxlLGEpe3JldHVybiBlLmRlZihhLCc9PT1cImZyb250XCI/JywxMDI4LFwiOlwiLDEwMjkpfSk7Y2FzZSBcImxpbmVXaWR0aFwiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVybiBkfSxmdW5jdGlvbihkLGUsYSl7cmV0dXJuIGF9KTtjYXNlIFwiZnJvbnRGYWNlXCI6cmV0dXJuIGUoZnVuY3Rpb24oZCl7cmV0dXJuIExbZF19LGZ1bmN0aW9uKGQsZSxhKXtyZXR1cm4gZS5kZWYoYSsnPT09XCJjd1wiPzIzMDQ6MjMwNScpfSk7Y2FzZSBcImNvbG9yTWFza1wiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVybiBkLm1hcChmdW5jdGlvbihkKXtyZXR1cm4hIWR9KX0sZnVuY3Rpb24oZCxlLGEpe3JldHVybiBGKDQsZnVuY3Rpb24oZCl7cmV0dXJuXCIhIVwiK2ErXCJbXCIrZCtcIl1cIn0pfSk7Y2FzZSBcInNhbXBsZS5jb3ZlcmFnZVwiOnJldHVybiBlKGZ1bmN0aW9uKGQpe3JldHVybltcInZhbHVlXCJpblxuZD9kLnZhbHVlOjEsISFkLmludmVydF19LGZ1bmN0aW9uKGQsZSxhKXtkPWUuZGVmKCdcInZhbHVlXCIgaW4gJyxhLFwiPytcIixhLFwiLnZhbHVlOjFcIik7ZT1lLmRlZihcIiEhXCIsYSxcIi5pbnZlcnRcIik7cmV0dXJuW2QsZV19KX19KTtyZXR1cm4gQX1mdW5jdGlvbiBzYShkLGUpe3ZhciBiPWRbXCJzdGF0aWNcIl0saD1kLmR5bmFtaWMsQT17fTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWJbZF0sYTtpZihcIm51bWJlclwiPT09dHlwZW9mIGV8fFwiYm9vbGVhblwiPT09dHlwZW9mIGUpYT1jKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KTtlbHNlIGlmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBlKXt2YXIgdj1lLl9yZWdsVHlwZTtpZihcInRleHR1cmUyZFwiPT09dnx8XCJ0ZXh0dXJlQ3ViZVwiPT09dilhPWMoZnVuY3Rpb24oZCl7cmV0dXJuIGQubGluayhlKX0pO2Vsc2UgaWYoXCJmcmFtZWJ1ZmZlclwiPT09dnx8XCJmcmFtZWJ1ZmZlckN1YmVcIj09PXYpYT1jKGZ1bmN0aW9uKGQpe3JldHVybiBkLmxpbmsoZS5jb2xvclswXSl9KX1lbHNlIHkoZSkmJlxuKGE9YyhmdW5jdGlvbihkKXtyZXR1cm4gZC5nbG9iYWwuZGVmKFwiW1wiLEYoZS5sZW5ndGgsZnVuY3Rpb24oZCl7cmV0dXJuIGVbZF19KSxcIl1cIil9KSk7YS52YWx1ZT1lO0FbZF09YX0pO09iamVjdC5rZXlzKGgpLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGU9aFtkXTtBW2RdPWEoZSxmdW5jdGlvbihkLGEpe3JldHVybiBkLmludm9rZShhLGUpfSl9KTtyZXR1cm4gQX1mdW5jdGlvbiBkYShkLGUpe3ZhciBiPWRbXCJzdGF0aWNcIl0saD1kLmR5bmFtaWMsQT17fTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWJbZF0sYT1mLmlkKGQpLHY9bmV3IEJhO2lmKGwoZSkpdi5zdGF0ZT0xLHYuYnVmZmVyPU0uZ2V0QnVmZmVyKE0uY3JlYXRlKGUsMzQ5NjIsITEsITApKSx2LnR5cGU9MDtlbHNle3ZhciBoPU0uZ2V0QnVmZmVyKGUpO2lmKGgpdi5zdGF0ZT0xLHYuYnVmZmVyPWgsdi50eXBlPTA7ZWxzZSBpZihlLmNvbnN0YW50KXt2YXIgdz1lLmNvbnN0YW50O3YuYnVmZmVyPVxuXCJudWxsXCI7di5zdGF0ZT0yO1wibnVtYmVyXCI9PT10eXBlb2Ygdz92Lng9dzpOLmZvckVhY2goZnVuY3Rpb24oZCxlKXtlPHcubGVuZ3RoJiYodltkXT13W2VdKX0pfWVsc2V7dmFyIGg9bChlLmJ1ZmZlcik/TS5nZXRCdWZmZXIoTS5jcmVhdGUoZS5idWZmZXIsMzQ5NjIsITEsITApKTpNLmdldEJ1ZmZlcihlLmJ1ZmZlciksej1lLm9mZnNldHwwLHE9ZS5zdHJpZGV8MCxrPWUuc2l6ZXwwLGc9ISFlLm5vcm1hbGl6ZWQsbT0wO1widHlwZVwiaW4gZSYmKG09Q1tlLnR5cGVdKTtlPWUuZGl2aXNvcnwwO3YuYnVmZmVyPWg7di5zdGF0ZT0xO3Yuc2l6ZT1rO3Yubm9ybWFsaXplZD1nO3YudHlwZT1tfHxoLmR0eXBlO3Yub2Zmc2V0PXo7di5zdHJpZGU9cTt2LmRpdmlzb3I9ZX19QVtkXT1jKGZ1bmN0aW9uKGQsZSl7dmFyIGM9ZC5hdHRyaWJDYWNoZTtpZihhIGluIGMpcmV0dXJuIGNbYV07dmFyIGI9e2lzU3RyZWFtOiExfTtPYmplY3Qua2V5cyh2KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe2JbZF09XG52W2RdfSk7di5idWZmZXImJihiLmJ1ZmZlcj1kLmxpbmsodi5idWZmZXIpLGIudHlwZT1iLnR5cGV8fGIuYnVmZmVyK1wiLmR0eXBlXCIpO3JldHVybiBjW2FdPWJ9KX0pO09iamVjdC5rZXlzKGgpLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGU9aFtkXTtBW2RdPWEoZSxmdW5jdGlvbihkLGEpe2Z1bmN0aW9uIHYoZCl7YShBW2RdLFwiPVwiLGMsXCIuXCIsZCxcInwwO1wiKX12YXIgYz1kLmludm9rZShhLGUpLGI9ZC5zaGFyZWQsaD1iLmlzQnVmZmVyQXJncyx3PWIuYnVmZmVyLEE9e2lzU3RyZWFtOmEuZGVmKCExKX0sej1uZXcgQmE7ei5zdGF0ZT0xO09iamVjdC5rZXlzKHopLmZvckVhY2goZnVuY3Rpb24oZCl7QVtkXT1hLmRlZihcIlwiK3pbZF0pfSk7dmFyIGFhPUEuYnVmZmVyLHE9QS50eXBlO2EoXCJpZihcIixoLFwiKFwiLGMsXCIpKXtcIixBLmlzU3RyZWFtLFwiPXRydWU7XCIsYWEsXCI9XCIsdyxcIi5jcmVhdGVTdHJlYW0oXCIsMzQ5NjIsXCIsXCIsYyxcIik7XCIscSxcIj1cIixhYSxcIi5kdHlwZTtcIixcIn1lbHNle1wiLFxuYWEsXCI9XCIsdyxcIi5nZXRCdWZmZXIoXCIsYyxcIik7XCIsXCJpZihcIixhYSxcIil7XCIscSxcIj1cIixhYSxcIi5kdHlwZTtcIiwnfWVsc2UgaWYoXCJjb25zdGFudFwiIGluICcsYyxcIil7XCIsQS5zdGF0ZSxcIj1cIiwyLFwiO1wiLFwiaWYodHlwZW9mIFwiK2MrJy5jb25zdGFudCA9PT0gXCJudW1iZXJcIil7JyxBW05bMF1dLFwiPVwiLGMsXCIuY29uc3RhbnQ7XCIsTi5zbGljZSgxKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIEFbZF19KS5qb2luKFwiPVwiKSxcIj0wO1wiLFwifWVsc2V7XCIsTi5tYXAoZnVuY3Rpb24oZCxlKXtyZXR1cm4gQVtkXStcIj1cIitjK1wiLmNvbnN0YW50Lmxlbmd0aD49XCIrZStcIj9cIitjK1wiLmNvbnN0YW50W1wiK2UrXCJdOjA7XCJ9KS5qb2luKFwiXCIpLFwifX1lbHNle1wiLFwiaWYoXCIsaCxcIihcIixjLFwiLmJ1ZmZlcikpe1wiLGFhLFwiPVwiLHcsXCIuY3JlYXRlU3RyZWFtKFwiLDM0OTYyLFwiLFwiLGMsXCIuYnVmZmVyKTtcIixcIn1lbHNle1wiLGFhLFwiPVwiLHcsXCIuZ2V0QnVmZmVyKFwiLGMsXCIuYnVmZmVyKTtcIixcIn1cIixxLCc9XCJ0eXBlXCIgaW4gJyxcbmMsXCI/XCIsYi5nbFR5cGVzLFwiW1wiLGMsXCIudHlwZV06XCIsYWEsXCIuZHR5cGU7XCIsQS5ub3JtYWxpemVkLFwiPSEhXCIsYyxcIi5ub3JtYWxpemVkO1wiKTt2KFwic2l6ZVwiKTt2KFwib2Zmc2V0XCIpO3YoXCJzdHJpZGVcIik7dihcImRpdmlzb3JcIik7YShcIn19XCIpO2EuZXhpdChcImlmKFwiLEEuaXNTdHJlYW0sXCIpe1wiLHcsXCIuZGVzdHJveVN0cmVhbShcIixhYSxcIik7XCIsXCJ9XCIpO3JldHVybiBBfSl9KTtyZXR1cm4gQX1mdW5jdGlvbiBqYShkKXt2YXIgZT1kW1wic3RhdGljXCJdLGI9ZC5keW5hbWljLGg9e307T2JqZWN0LmtleXMoZSkuZm9yRWFjaChmdW5jdGlvbihkKXt2YXIgYT1lW2RdO2hbZF09YyhmdW5jdGlvbihkLGUpe3JldHVyblwibnVtYmVyXCI9PT10eXBlb2YgYXx8XCJib29sZWFuXCI9PT10eXBlb2YgYT9cIlwiK2E6ZC5saW5rKGEpfSl9KTtPYmplY3Qua2V5cyhiKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWJbZF07aFtkXT1hKGUsZnVuY3Rpb24oZCxhKXtyZXR1cm4gZC5pbnZva2UoYSxlKX0pfSk7cmV0dXJuIGh9XG5mdW5jdGlvbiBsYShkLGUsYSxjLGIpe3ZhciBoPXlhKGQsYiksdz1VKGQsaCxiKSx6PWthKGQsYikscT1yYShkLGIpLGs9aWEoZCxiKSxnPXcudmlld3BvcnQ7ZyYmKHEudmlld3BvcnQ9Zyk7Zz1XKFwic2Npc3Nvci5ib3hcIik7KHc9d1tnXSkmJihxW2ddPXcpO3c9MDxPYmplY3Qua2V5cyhxKS5sZW5ndGg7aD17ZnJhbWVidWZmZXI6aCxkcmF3Onosc2hhZGVyOmssc3RhdGU6cSxkaXJ0eTp3fTtoLnByb2ZpbGU9bmEoZCxiKTtoLnVuaWZvcm1zPXNhKGEsYik7aC5hdHRyaWJ1dGVzPWRhKGUsYik7aC5jb250ZXh0PWphKGMsYik7cmV0dXJuIGh9ZnVuY3Rpb24gZWEoZCxlLGEpe3ZhciBjPWQuc2hhcmVkLmNvbnRleHQsYj1kLnNjb3BlKCk7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChmdW5jdGlvbihoKXtlLnNhdmUoYyxcIi5cIitoKTtiKGMsXCIuXCIsaCxcIj1cIixhW2hdLmFwcGVuZChkLGUpLFwiO1wiKX0pO2UoYil9ZnVuY3Rpb24gTyhkLGUsYSxjKXt2YXIgYj1kLnNoYXJlZCxoPWIuZ2wsdz1iLmZyYW1lYnVmZmVyLFxuejtvYSYmKHo9ZS5kZWYoYi5leHRlbnNpb25zLFwiLndlYmdsX2RyYXdfYnVmZmVyc1wiKSk7dmFyIHE9ZC5jb25zdGFudHMsYj1xLmRyYXdCdWZmZXIscT1xLmJhY2tCdWZmZXI7ZD1hP2EuYXBwZW5kKGQsZSk6ZS5kZWYodyxcIi5uZXh0XCIpO2N8fGUoXCJpZihcIixkLFwiIT09XCIsdyxcIi5jdXIpe1wiKTtlKFwiaWYoXCIsZCxcIil7XCIsaCxcIi5iaW5kRnJhbWVidWZmZXIoXCIsMzYxNjAsXCIsXCIsZCxcIi5mcmFtZWJ1ZmZlcik7XCIpO29hJiZlKHosXCIuZHJhd0J1ZmZlcnNXRUJHTChcIixiLFwiW1wiLGQsXCIuY29sb3JBdHRhY2htZW50cy5sZW5ndGhdKTtcIik7ZShcIn1lbHNle1wiLGgsXCIuYmluZEZyYW1lYnVmZmVyKFwiLDM2MTYwLFwiLG51bGwpO1wiKTtvYSYmZSh6LFwiLmRyYXdCdWZmZXJzV0VCR0woXCIscSxcIik7XCIpO2UoXCJ9XCIsdyxcIi5jdXI9XCIsZCxcIjtcIik7Y3x8ZShcIn1cIil9ZnVuY3Rpb24gaGEoZCxhLGMpe3ZhciBiPWQuc2hhcmVkLGg9Yi5nbCx6PWQuY3VycmVudCxxPWQubmV4dCxnPWIuY3VycmVudCxrPWIubmV4dCxcbm09ZC5jb25kKGcsXCIuZGlydHlcIik7dy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2E9VyhhKTtpZighKGEgaW4gYy5zdGF0ZSkpe3ZhciB2LGI7aWYoYSBpbiBxKXt2PXFbYV07Yj16W2FdO3ZhciB3PUYoZVthXS5sZW5ndGgsZnVuY3Rpb24oZCl7cmV0dXJuIG0uZGVmKHYsXCJbXCIsZCxcIl1cIil9KTttKGQuY29uZCh3Lm1hcChmdW5jdGlvbihkLGUpe3JldHVybiBkK1wiIT09XCIrYitcIltcIitlK1wiXVwifSkuam9pbihcInx8XCIpKS50aGVuKGgsXCIuXCIseGFbYV0sXCIoXCIsdyxcIik7XCIsdy5tYXAoZnVuY3Rpb24oZCxlKXtyZXR1cm4gYitcIltcIitlK1wiXT1cIitkfSkuam9pbihcIjtcIiksXCI7XCIpKX1lbHNlIHY9bS5kZWYoayxcIi5cIixhKSx3PWQuY29uZCh2LFwiIT09XCIsZyxcIi5cIixhKSxtKHcpLGEgaW4gd2E/dyhkLmNvbmQodikudGhlbihoLFwiLmVuYWJsZShcIix3YVthXSxcIik7XCIpW1wiZWxzZVwiXShoLFwiLmRpc2FibGUoXCIsd2FbYV0sXCIpO1wiKSxnLFwiLlwiLGEsXCI9XCIsdixcIjtcIik6dyhoLFwiLlwiLHhhW2FdLFwiKFwiLHYsXCIpO1wiLFxuZyxcIi5cIixhLFwiPVwiLHYsXCI7XCIpfX0pOzA9PT1PYmplY3Qua2V5cyhjLnN0YXRlKS5sZW5ndGgmJm0oZyxcIi5kaXJ0eT1mYWxzZTtcIik7YShtKX1mdW5jdGlvbiBRKGQsZSxhLGMpe3ZhciBiPWQuc2hhcmVkLGg9ZC5jdXJyZW50LHc9Yi5jdXJyZW50LHE9Yi5nbDtrKE9iamVjdC5rZXlzKGEpKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciB6PWFbYl07aWYoIWN8fGMoeikpe3ZhciBnPXouYXBwZW5kKGQsZSk7aWYod2FbYl0pe3ZhciBrPXdhW2JdO3Ioeik/Zz9lKHEsXCIuZW5hYmxlKFwiLGssXCIpO1wiKTplKHEsXCIuZGlzYWJsZShcIixrLFwiKTtcIik6ZShkLmNvbmQoZykudGhlbihxLFwiLmVuYWJsZShcIixrLFwiKTtcIilbXCJlbHNlXCJdKHEsXCIuZGlzYWJsZShcIixrLFwiKTtcIikpO2UodyxcIi5cIixiLFwiPVwiLGcsXCI7XCIpfWVsc2UgaWYoeShnKSl7dmFyIG09aFtiXTtlKHEsXCIuXCIseGFbYl0sXCIoXCIsZyxcIik7XCIsZy5tYXAoZnVuY3Rpb24oZCxlKXtyZXR1cm4gbStcIltcIitlK1wiXT1cIitkfSkuam9pbihcIjtcIiksXCI7XCIpfWVsc2UgZShxLFxuXCIuXCIseGFbYl0sXCIoXCIsZyxcIik7XCIsdyxcIi5cIixiLFwiPVwiLGcsXCI7XCIpfX0pfWZ1bmN0aW9uIHBhKGQsZSl7dGEmJihkLmluc3RhbmNpbmc9ZS5kZWYoZC5zaGFyZWQuZXh0ZW5zaW9ucyxcIi5hbmdsZV9pbnN0YW5jZWRfYXJyYXlzXCIpKX1mdW5jdGlvbiBWKGQsZSxhLGMsYil7ZnVuY3Rpb24gaCgpe3JldHVyblwidW5kZWZpbmVkXCI9PT10eXBlb2YgcGVyZm9ybWFuY2U/XCJEYXRlLm5vdygpXCI6XCJwZXJmb3JtYW5jZS5ub3coKVwifWZ1bmN0aW9uIHcoZCl7bD1lLmRlZigpO2QobCxcIj1cIixoKCksXCI7XCIpO1wic3RyaW5nXCI9PT10eXBlb2YgYj9kKGssXCIuY291bnQrPVwiLGIsXCI7XCIpOmQoayxcIi5jb3VudCsrO1wiKTttYSYmKGM/KG49ZS5kZWYoKSxkKG4sXCI9XCIsZixcIi5nZXROdW1QZW5kaW5nUXVlcmllcygpO1wiKSk6ZChmLFwiLmJlZ2luUXVlcnkoXCIsayxcIik7XCIpKX1mdW5jdGlvbiBxKGQpe2QoayxcIi5jcHVUaW1lKz1cIixoKCksXCItXCIsbCxcIjtcIik7bWEmJihjP2QoZixcIi5wdXNoU2NvcGVTdGF0cyhcIixuLFxuXCIsXCIsZixcIi5nZXROdW1QZW5kaW5nUXVlcmllcygpLFwiLGssXCIpO1wiKTpkKGYsXCIuZW5kUXVlcnkoKTtcIikpfWZ1bmN0aW9uIHooZCl7dmFyIGE9ZS5kZWYobSxcIi5wcm9maWxlXCIpO2UobSxcIi5wcm9maWxlPVwiLGQsXCI7XCIpO2UuZXhpdChtLFwiLnByb2ZpbGU9XCIsYSxcIjtcIil9dmFyIGc9ZC5zaGFyZWQsaz1kLnN0YXRzLG09Zy5jdXJyZW50LGY9Zy50aW1lcjthPWEucHJvZmlsZTt2YXIgbCxuO2lmKGEpe2lmKHIoYSkpe2EuZW5hYmxlPyh3KGUpLHEoZS5leGl0KSx6KFwidHJ1ZVwiKSk6eihcImZhbHNlXCIpO3JldHVybn1hPWEuYXBwZW5kKGQsZSk7eihhKX1lbHNlIGE9ZS5kZWYobSxcIi5wcm9maWxlXCIpO2c9ZC5ibG9jaygpO3coZyk7ZShcImlmKFwiLGEsXCIpe1wiLGcsXCJ9XCIpO2Q9ZC5ibG9jaygpO3EoZCk7ZS5leGl0KFwiaWYoXCIsYSxcIil7XCIsZCxcIn1cIil9ZnVuY3Rpb24gWChkLGUsYSxjLGIpe2Z1bmN0aW9uIGgoZCl7c3dpdGNoKGQpe2Nhc2UgMzU2NjQ6Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiAyO1xuY2FzZSAzNTY2NTpjYXNlIDM1NjY4OmNhc2UgMzU2NzI6cmV0dXJuIDM7Y2FzZSAzNTY2NjpjYXNlIDM1NjY5OmNhc2UgMzU2NzM6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhhLGMsYil7ZnVuY3Rpb24gaCgpe2UoXCJpZighXCIsbSxcIi5idWZmZXIpe1wiLGcsXCIuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoXCIsayxcIik7fVwiKTt2YXIgYT1iLnR5cGUsdzt3PWIuc2l6ZT9lLmRlZihiLnNpemUsXCJ8fFwiLGMpOmM7ZShcImlmKFwiLG0sXCIudHlwZSE9PVwiLGEsXCJ8fFwiLG0sXCIuc2l6ZSE9PVwiLHcsXCJ8fFwiLGFhLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gbStcIi5cIitkK1wiIT09XCIrYltkXX0pLmpvaW4oXCJ8fFwiKSxcIil7XCIsZyxcIi5iaW5kQnVmZmVyKFwiLDM0OTYyLFwiLFwiLGYsXCIuYnVmZmVyKTtcIixnLFwiLnZlcnRleEF0dHJpYlBvaW50ZXIoXCIsW2ssdyxhLGIubm9ybWFsaXplZCxiLnN0cmlkZSxiLm9mZnNldF0sXCIpO1wiLG0sXCIudHlwZT1cIixhLFwiO1wiLG0sXCIuc2l6ZT1cIix3LFwiO1wiLGFhLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gbStcblwiLlwiK2QrXCI9XCIrYltkXStcIjtcIn0pLmpvaW4oXCJcIiksXCJ9XCIpO3RhJiYoYT1iLmRpdmlzb3IsZShcImlmKFwiLG0sXCIuZGl2aXNvciE9PVwiLGEsXCIpe1wiLGQuaW5zdGFuY2luZyxcIi52ZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEUoXCIsW2ssYV0sXCIpO1wiLG0sXCIuZGl2aXNvcj1cIixhLFwiO31cIikpfWZ1bmN0aW9uIHooKXtlKFwiaWYoXCIsbSxcIi5idWZmZXIpe1wiLGcsXCIuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KFwiLGssXCIpO1wiLFwifWlmKFwiLE4ubWFwKGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG0rXCIuXCIrZCtcIiE9PVwiK0FbZV19KS5qb2luKFwifHxcIiksXCIpe1wiLGcsXCIudmVydGV4QXR0cmliNGYoXCIsayxcIixcIixBLFwiKTtcIixOLm1hcChmdW5jdGlvbihkLGUpe3JldHVybiBtK1wiLlwiK2QrXCI9XCIrQVtlXStcIjtcIn0pLmpvaW4oXCJcIiksXCJ9XCIpfXZhciBnPXEuZ2wsaz1lLmRlZihhLFwiLmxvY2F0aW9uXCIpLG09ZS5kZWYocS5hdHRyaWJ1dGVzLFwiW1wiLGssXCJdXCIpO2E9Yi5zdGF0ZTt2YXIgZj1iLmJ1ZmZlcixBPVtiLngsYi55LFxuYi56LGIud10sYWE9W1wiYnVmZmVyXCIsXCJub3JtYWxpemVkXCIsXCJvZmZzZXRcIixcInN0cmlkZVwiXTsxPT09YT9oKCk6Mj09PWE/eigpOihlKFwiaWYoXCIsYSxcIj09PVwiLDEsXCIpe1wiKSxoKCksZShcIn1lbHNle1wiKSx6KCksZShcIn1cIikpfXZhciBxPWQuc2hhcmVkO2MuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgcT1jLm5hbWUsZz1hLmF0dHJpYnV0ZXNbcV0sejtpZihnKXtpZighYihnKSlyZXR1cm47ej1nLmFwcGVuZChkLGUpfWVsc2V7aWYoIWIoSCkpcmV0dXJuO3ZhciBtPWQuc2NvcGVBdHRyaWIocSk7ej17fTtPYmplY3Qua2V5cyhuZXcgQmEpLmZvckVhY2goZnVuY3Rpb24oZCl7eltkXT1lLmRlZihtLFwiLlwiLGQpfSl9dyhkLmxpbmsoYyksaChjLmluZm8udHlwZSkseil9KX1mdW5jdGlvbiBUKGQsZSxhLGMsYil7Zm9yKHZhciBoPWQuc2hhcmVkLHc9aC5nbCxnLHE9MDtxPGMubGVuZ3RoOysrcSl7dmFyIHo9Y1txXSxtPXoubmFtZSxrPXouaW5mby50eXBlLGw9YS51bmlmb3Jtc1ttXSx6PWQubGluayh6KStcblwiLmxvY2F0aW9uXCIsbjtpZihsKXtpZighYihsKSljb250aW51ZTtpZihyKGwpKXttPWwudmFsdWU7aWYoMzU2Nzg9PT1rfHwzNTY4MD09PWspaz1kLmxpbmsobS5fdGV4dHVyZXx8bS5jb2xvclswXS5fdGV4dHVyZSksZSh3LFwiLnVuaWZvcm0xaShcIix6LFwiLFwiLGsrXCIuYmluZCgpKTtcIiksZS5leGl0KGssXCIudW5iaW5kKCk7XCIpO2Vsc2UgaWYoMzU2NzQ9PT1rfHwzNTY3NT09PWt8fDM1Njc2PT09ayltPWQuZ2xvYmFsLmRlZihcIm5ldyBGbG9hdDMyQXJyYXkoW1wiK0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG0pK1wiXSlcIiksbD0yLDM1Njc1PT09az9sPTM6MzU2NzY9PT1rJiYobD00KSxlKHcsXCIudW5pZm9ybU1hdHJpeFwiLGwsXCJmdihcIix6LFwiLGZhbHNlLFwiLG0sXCIpO1wiKTtlbHNle3N3aXRjaChrKXtjYXNlIDUxMjY6Zz1cIjFmXCI7YnJlYWs7Y2FzZSAzNTY2NDpnPVwiMmZcIjticmVhaztjYXNlIDM1NjY1Omc9XCIzZlwiO2JyZWFrO2Nhc2UgMzU2NjY6Zz1cIjRmXCI7YnJlYWs7Y2FzZSAzNTY3MDpnPVxuXCIxaVwiO2JyZWFrO2Nhc2UgNTEyNDpnPVwiMWlcIjticmVhaztjYXNlIDM1NjcxOmc9XCIyaVwiO2JyZWFrO2Nhc2UgMzU2Njc6Zz1cIjJpXCI7YnJlYWs7Y2FzZSAzNTY3MjpnPVwiM2lcIjticmVhaztjYXNlIDM1NjY4Omc9XCIzaVwiO2JyZWFrO2Nhc2UgMzU2NzM6Zz1cIjRpXCI7YnJlYWs7Y2FzZSAzNTY2OTpnPVwiNGlcIn1lKHcsXCIudW5pZm9ybVwiLGcsXCIoXCIseixcIixcIix5KG0pP0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG0pOm0sXCIpO1wiKX1jb250aW51ZX1lbHNlIG49bC5hcHBlbmQoZCxlKX1lbHNle2lmKCFiKEgpKWNvbnRpbnVlO249ZS5kZWYoaC51bmlmb3JtcyxcIltcIixmLmlkKG0pLFwiXVwiKX0zNTY3OD09PWs/ZShcImlmKFwiLG4sXCImJlwiLG4sJy5fcmVnbFR5cGU9PT1cImZyYW1lYnVmZmVyXCIpeycsbixcIj1cIixuLFwiLmNvbG9yWzBdO1wiLFwifVwiKTozNTY4MD09PWsmJmUoXCJpZihcIixuLFwiJiZcIixuLCcuX3JlZ2xUeXBlPT09XCJmcmFtZWJ1ZmZlckN1YmVcIil7JyxuLFwiPVwiLG4sXCIuY29sb3JbMF07XCIsXCJ9XCIpO1xubT0xO3N3aXRjaChrKXtjYXNlIDM1Njc4OmNhc2UgMzU2ODA6az1lLmRlZihuLFwiLl90ZXh0dXJlXCIpO2UodyxcIi51bmlmb3JtMWkoXCIseixcIixcIixrLFwiLmJpbmQoKSk7XCIpO2UuZXhpdChrLFwiLnVuYmluZCgpO1wiKTtjb250aW51ZTtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpnPVwiMWlcIjticmVhaztjYXNlIDM1NjY3OmNhc2UgMzU2NzE6Zz1cIjJpXCI7bT0yO2JyZWFrO2Nhc2UgMzU2Njg6Y2FzZSAzNTY3MjpnPVwiM2lcIjttPTM7YnJlYWs7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOmc9XCI0aVwiO209NDticmVhaztjYXNlIDUxMjY6Zz1cIjFmXCI7YnJlYWs7Y2FzZSAzNTY2NDpnPVwiMmZcIjttPTI7YnJlYWs7Y2FzZSAzNTY2NTpnPVwiM2ZcIjttPTM7YnJlYWs7Y2FzZSAzNTY2NjpnPVwiNGZcIjttPTQ7YnJlYWs7Y2FzZSAzNTY3NDpnPVwiTWF0cml4MmZ2XCI7YnJlYWs7Y2FzZSAzNTY3NTpnPVwiTWF0cml4M2Z2XCI7YnJlYWs7Y2FzZSAzNTY3NjpnPVwiTWF0cml4NGZ2XCJ9ZSh3LFwiLnVuaWZvcm1cIixnLFwiKFwiLHosXCIsXCIpO1xuaWYoXCJNXCI9PT1nLmNoYXJBdCgwKSl7dmFyIHo9TWF0aC5wb3coay0zNTY3NCsyLDIpLEI9ZC5nbG9iYWwuZGVmKFwibmV3IEZsb2F0MzJBcnJheShcIix6LFwiKVwiKTtlKFwiZmFsc2UsKEFycmF5LmlzQXJyYXkoXCIsbixcIil8fFwiLG4sXCIgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXkpP1wiLG4sXCI6KFwiLEYoeixmdW5jdGlvbihkKXtyZXR1cm4gQitcIltcIitkK1wiXT1cIituK1wiW1wiK2QrXCJdXCJ9KSxcIixcIixCLFwiKVwiKX1lbHNlIDE8bT9lKEYobSxmdW5jdGlvbihkKXtyZXR1cm4gbitcIltcIitkK1wiXVwifSkpOmUobik7ZShcIik7XCIpfX1mdW5jdGlvbiB1YShkLGUsYSxjKXtmdW5jdGlvbiBiKGgpe3ZhciBnPWtbaF07cmV0dXJuIGc/Zy5jb250ZXh0RGVwJiZjLmNvbnRleHREeW5hbWljfHxnLnByb3BEZXA/Zy5hcHBlbmQoZCxhKTpnLmFwcGVuZChkLGUpOmUuZGVmKG0sXCIuXCIsaCl9ZnVuY3Rpb24gaCgpe2Z1bmN0aW9uIGQoKXthKHgsXCIuZHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUoXCIsW2YsbixLLGwrXCI8PCgoXCIrXG5LK1wiLTUxMjEpPj4xKVwiLEJdLFwiKTtcIil9ZnVuY3Rpb24gZSgpe2EoeCxcIi5kcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUoXCIsW2YsbCxuLEJdLFwiKTtcIil9cT9TP2QoKTooYShcImlmKFwiLHEsXCIpe1wiKSxkKCksYShcIn1lbHNle1wiKSxlKCksYShcIn1cIikpOmUoKX1mdW5jdGlvbiBnKCl7ZnVuY3Rpb24gZCgpe2EoeitcIi5kcmF3RWxlbWVudHMoXCIrW2YsbixLLGwrXCI8PCgoXCIrSytcIi01MTIxKT4+MSlcIl0rXCIpO1wiKX1mdW5jdGlvbiBlKCl7YSh6K1wiLmRyYXdBcnJheXMoXCIrW2YsbCxuXStcIik7XCIpfXE/Uz9kKCk6KGEoXCJpZihcIixxLFwiKXtcIiksZCgpLGEoXCJ9ZWxzZXtcIiksZSgpLGEoXCJ9XCIpKTplKCl9dmFyIHc9ZC5zaGFyZWQsej13LmdsLG09dy5kcmF3LGs9Yy5kcmF3LHE9ZnVuY3Rpb24oKXt2YXIgYj1rLmVsZW1lbnRzLGg9ZTtpZihiKXtpZihiLmNvbnRleHREZXAmJmMuY29udGV4dER5bmFtaWN8fGIucHJvcERlcCloPWE7Yj1iLmFwcGVuZChkLGgpfWVsc2UgYj1oLmRlZihtLFwiLlwiLFwiZWxlbWVudHNcIik7XG5iJiZoKFwiaWYoXCIrYitcIilcIit6K1wiLmJpbmRCdWZmZXIoMzQ5NjMsXCIrYitcIi5idWZmZXIuYnVmZmVyKTtcIik7cmV0dXJuIGJ9KCksZj1iKFwicHJpbWl0aXZlXCIpLGw9YihcIm9mZnNldFwiKSxuPWZ1bmN0aW9uKCl7dmFyIGI9ay5jb3VudCxoPWU7aWYoYil7aWYoYi5jb250ZXh0RGVwJiZjLmNvbnRleHREeW5hbWljfHxiLnByb3BEZXApaD1hO2I9Yi5hcHBlbmQoZCxoKX1lbHNlIGI9aC5kZWYobSxcIi5cIixcImNvdW50XCIpO3JldHVybiBifSgpO2lmKFwibnVtYmVyXCI9PT10eXBlb2Ygbil7aWYoMD09PW4pcmV0dXJufWVsc2UgYShcImlmKFwiLG4sXCIpe1wiKSxhLmV4aXQoXCJ9XCIpO3ZhciBCLHg7dGEmJihCPWIoXCJpbnN0YW5jZXNcIikseD1kLmluc3RhbmNpbmcpO3ZhciBLPXErXCIudHlwZVwiLFM9ay5lbGVtZW50cyYmcihrLmVsZW1lbnRzKTt0YSYmKFwibnVtYmVyXCIhPT10eXBlb2YgQnx8MDw9Qik/XCJzdHJpbmdcIj09PXR5cGVvZiBCPyhhKFwiaWYoXCIsQixcIj4wKXtcIiksaCgpLGEoXCJ9ZWxzZSBpZihcIixCLFxuXCI8MCl7XCIpLGcoKSxhKFwifVwiKSk6aCgpOmcoKX1mdW5jdGlvbiBFYShkLGUsYSxiLGMpe2U9YmEoKTtjPWUucHJvYyhcImJvZHlcIixjKTt0YSYmKGUuaW5zdGFuY2luZz1jLmRlZihlLnNoYXJlZC5leHRlbnNpb25zLFwiLmFuZ2xlX2luc3RhbmNlZF9hcnJheXNcIikpO2QoZSxjLGEsYik7cmV0dXJuIGUuY29tcGlsZSgpLmJvZHl9ZnVuY3Rpb24gRmEoZCxlLGEsYil7cGEoZCxlKTtYKGQsZSxhLGIuYXR0cmlidXRlcyxmdW5jdGlvbigpe3JldHVybiEwfSk7VChkLGUsYSxiLnVuaWZvcm1zLGZ1bmN0aW9uKCl7cmV0dXJuITB9KTt1YShkLGUsZSxhKX1mdW5jdGlvbiBIYShkLGUpe3ZhciBhPWQucHJvYyhcImRyYXdcIiwxKTtwYShkLGEpO2VhKGQsYSxlLmNvbnRleHQpO08oZCxhLGUuZnJhbWVidWZmZXIpO2hhKGQsYSxlKTtRKGQsYSxlLnN0YXRlKTtWKGQsYSxlLCExLCEwKTt2YXIgYj1lLnNoYWRlci5wcm9nVmFyLmFwcGVuZChkLGEpO2EoZC5zaGFyZWQuZ2wsXCIudXNlUHJvZ3JhbShcIixiLFxuXCIucHJvZ3JhbSk7XCIpO2lmKGUuc2hhZGVyLnByb2dyYW0pRmEoZCxhLGUsZS5zaGFkZXIucHJvZ3JhbSk7ZWxzZXt2YXIgYz1kLmdsb2JhbC5kZWYoXCJ7fVwiKSxoPWEuZGVmKGIsXCIuaWRcIiksZz1hLmRlZihjLFwiW1wiLGgsXCJdXCIpO2EoZC5jb25kKGcpLnRoZW4oZyxcIi5jYWxsKHRoaXMsYTApO1wiKVtcImVsc2VcIl0oZyxcIj1cIixjLFwiW1wiLGgsXCJdPVwiLGQubGluayhmdW5jdGlvbihhKXtyZXR1cm4gRWEoRmEsZCxlLGEsMSl9KSxcIihcIixiLFwiKTtcIixnLFwiLmNhbGwodGhpcyxhMCk7XCIpKX0wPE9iamVjdC5rZXlzKGUuc3RhdGUpLmxlbmd0aCYmYShkLnNoYXJlZC5jdXJyZW50LFwiLmRpcnR5PXRydWU7XCIpfWZ1bmN0aW9uIElhKGQsZSxhLGIpe2Z1bmN0aW9uIGMoKXtyZXR1cm4hMH1kLmJhdGNoSWQ9XCJhMVwiO3BhKGQsZSk7WChkLGUsYSxiLmF0dHJpYnV0ZXMsYyk7VChkLGUsYSxiLnVuaWZvcm1zLGMpO3VhKGQsZSxlLGEpfWZ1bmN0aW9uIENhKGUsYSxiLGMpe2Z1bmN0aW9uIGgoZSl7cmV0dXJuIGUuY29udGV4dERlcCYmXG53fHxlLnByb3BEZXB9ZnVuY3Rpb24gZyhlKXtyZXR1cm4haChlKX1wYShlLGEpO3ZhciB3PWIuY29udGV4dERlcCx6PWEuZGVmKCksbT1hLmRlZigpO2Uuc2hhcmVkLnByb3BzPW07ZS5iYXRjaElkPXo7dmFyIGs9ZS5zY29wZSgpLHE9ZS5zY29wZSgpO2Eoay5lbnRyeSxcImZvcihcIix6LFwiPTA7XCIseixcIjxcIixcImExXCIsXCI7KytcIix6LFwiKXtcIixtLFwiPVwiLFwiYTBcIixcIltcIix6LFwiXTtcIixxLFwifVwiLGsuZXhpdCk7Yi5uZWVkc0NvbnRleHQmJmVhKGUscSxiLmNvbnRleHQpO2IubmVlZHNGcmFtZWJ1ZmZlciYmTyhlLHEsYi5mcmFtZWJ1ZmZlcik7UShlLHEsYi5zdGF0ZSxoKTtiLnByb2ZpbGUmJmgoYi5wcm9maWxlKSYmVihlLHEsYiwhMSwhMCk7Yz8oWChlLGssYixjLmF0dHJpYnV0ZXMsZyksWChlLHEsYixjLmF0dHJpYnV0ZXMsaCksVChlLGssYixjLnVuaWZvcm1zLGcpLFQoZSxxLGIsYy51bmlmb3JtcyxoKSx1YShlLGsscSxiKSk6KGE9ZS5nbG9iYWwuZGVmKFwie31cIiksYz1iLnNoYWRlci5wcm9nVmFyLmFwcGVuZChlLFxucSksbT1xLmRlZihjLFwiLmlkXCIpLGs9cS5kZWYoYSxcIltcIixtLFwiXVwiKSxxKGUuc2hhcmVkLmdsLFwiLnVzZVByb2dyYW0oXCIsYyxcIi5wcm9ncmFtKTtcIixcImlmKCFcIixrLFwiKXtcIixrLFwiPVwiLGEsXCJbXCIsbSxcIl09XCIsZS5saW5rKGZ1bmN0aW9uKGEpe3JldHVybiBFYShJYSxlLGIsYSwyKX0pLFwiKFwiLGMsXCIpO31cIixrLFwiLmNhbGwodGhpcyxhMFtcIix6LFwiXSxcIix6LFwiKTtcIikpfWZ1bmN0aW9uIERhKGUsYSl7ZnVuY3Rpb24gYihlKXtyZXR1cm4gZS5jb250ZXh0RGVwJiZofHxlLnByb3BEZXB9dmFyIGM9ZS5wcm9jKFwiYmF0Y2hcIiwyKTtlLmJhdGNoSWQ9XCIwXCI7cGEoZSxjKTt2YXIgaD0hMSxnPSEwO09iamVjdC5rZXlzKGEuY29udGV4dCkuZm9yRWFjaChmdW5jdGlvbihlKXtoPWh8fGEuY29udGV4dFtlXS5wcm9wRGVwfSk7aHx8KGVhKGUsYyxhLmNvbnRleHQpLGc9ITEpO3ZhciB3PWEuZnJhbWVidWZmZXIsej0hMTt3Pyh3LnByb3BEZXA/aD16PSEwOncuY29udGV4dERlcCYmaCYmKHo9ITApLFxuenx8TyhlLGMsdykpOk8oZSxjLG51bGwpO2Euc3RhdGUudmlld3BvcnQmJmEuc3RhdGUudmlld3BvcnQucHJvcERlcCYmKGg9ITApO2hhKGUsYyxhKTtRKGUsYyxhLnN0YXRlLGZ1bmN0aW9uKGUpe3JldHVybiFiKGUpfSk7YS5wcm9maWxlJiZiKGEucHJvZmlsZSl8fFYoZSxjLGEsITEsXCJhMVwiKTthLmNvbnRleHREZXA9aDthLm5lZWRzQ29udGV4dD1nO2EubmVlZHNGcmFtZWJ1ZmZlcj16O2c9YS5zaGFkZXIucHJvZ1ZhcjtpZihnLmNvbnRleHREZXAmJmh8fGcucHJvcERlcClDYShlLGMsYSxudWxsKTtlbHNlIGlmKGc9Zy5hcHBlbmQoZSxjKSxjKGUuc2hhcmVkLmdsLFwiLnVzZVByb2dyYW0oXCIsZyxcIi5wcm9ncmFtKTtcIiksYS5zaGFkZXIucHJvZ3JhbSlDYShlLGMsYSxhLnNoYWRlci5wcm9ncmFtKTtlbHNle3ZhciB3PWUuZ2xvYmFsLmRlZihcInt9XCIpLHo9Yy5kZWYoZyxcIi5pZFwiKSxxPWMuZGVmKHcsXCJbXCIseixcIl1cIik7YyhlLmNvbmQocSkudGhlbihxLFwiLmNhbGwodGhpcyxhMCxhMSk7XCIpW1wiZWxzZVwiXShxLFxuXCI9XCIsdyxcIltcIix6LFwiXT1cIixlLmxpbmsoZnVuY3Rpb24oYil7cmV0dXJuIEVhKENhLGUsYSxiLDIpfSksXCIoXCIsZyxcIik7XCIscSxcIi5jYWxsKHRoaXMsYTAsYTEpO1wiKSl9MDxPYmplY3Qua2V5cyhhLnN0YXRlKS5sZW5ndGgmJmMoZS5zaGFyZWQuY3VycmVudCxcIi5kaXJ0eT10cnVlO1wiKX1mdW5jdGlvbiBQYShlLGEpe2Z1bmN0aW9uIGIoZyl7dmFyIHc9YS5zaGFkZXJbZ107dyYmYy5zZXQoaC5zaGFkZXIsXCIuXCIrZyx3LmFwcGVuZChlLGMpKX12YXIgYz1lLnByb2MoXCJzY29wZVwiLDMpO2UuYmF0Y2hJZD1cImEyXCI7dmFyIGg9ZS5zaGFyZWQsZz1oLmN1cnJlbnQ7ZWEoZSxjLGEuY29udGV4dCk7YS5mcmFtZWJ1ZmZlciYmYS5mcmFtZWJ1ZmZlci5hcHBlbmQoZSxjKTtrKE9iamVjdC5rZXlzKGEuc3RhdGUpKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBnPWEuc3RhdGVbYl0uYXBwZW5kKGUsYyk7eShnKT9nLmZvckVhY2goZnVuY3Rpb24oYSxoKXtjLnNldChlLm5leHRbYl0sXCJbXCIraCtcIl1cIixcbmEpfSk6Yy5zZXQoaC5uZXh0LFwiLlwiK2IsZyl9KTtWKGUsYyxhLCEwLCEwKTtbXCJlbGVtZW50c1wiLFwib2Zmc2V0XCIsXCJjb3VudFwiLFwiaW5zdGFuY2VzXCIsXCJwcmltaXRpdmVcIl0uZm9yRWFjaChmdW5jdGlvbihiKXt2YXIgZz1hLmRyYXdbYl07ZyYmYy5zZXQoaC5kcmF3LFwiLlwiK2IsXCJcIitnLmFwcGVuZChlLGMpKX0pO09iamVjdC5rZXlzKGEudW5pZm9ybXMpLmZvckVhY2goZnVuY3Rpb24oYil7Yy5zZXQoaC51bmlmb3JtcyxcIltcIitmLmlkKGIpK1wiXVwiLGEudW5pZm9ybXNbYl0uYXBwZW5kKGUsYykpfSk7T2JqZWN0LmtleXMoYS5hdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBoPWEuYXR0cmlidXRlc1tiXS5hcHBlbmQoZSxjKSxnPWUuc2NvcGVBdHRyaWIoYik7T2JqZWN0LmtleXMobmV3IEJhKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Muc2V0KGcsXCIuXCIrZSxoW2VdKX0pfSk7YihcInZlcnRcIik7YihcImZyYWdcIik7MDxPYmplY3Qua2V5cyhhLnN0YXRlKS5sZW5ndGgmJihjKGcsXG5cIi5kaXJ0eT10cnVlO1wiKSxjLmV4aXQoZyxcIi5kaXJ0eT10cnVlO1wiKSk7YyhcImExKFwiLGUuc2hhcmVkLmNvbnRleHQsXCIsYTAsXCIsZS5iYXRjaElkLFwiKTtcIil9ZnVuY3Rpb24gTmEoZSl7aWYoXCJvYmplY3RcIj09PXR5cGVvZiBlJiYheShlKSl7Zm9yKHZhciBhPU9iamVjdC5rZXlzKGUpLGI9MDtiPGEubGVuZ3RoOysrYilpZihnLmlzRHluYW1pYyhlW2FbYl1dKSlyZXR1cm4hMDtyZXR1cm4hMX19ZnVuY3Rpb24gSmEoZSxiLGMpe2Z1bmN0aW9uIGgoZSxhKXtxLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGI9d1tkXTtnLmlzRHluYW1pYyhiKSYmKGI9ZS5pbnZva2UoYSxiKSxhKG4sXCIuXCIsZCxcIj1cIixiLFwiO1wiKSl9KX12YXIgdz1iW1wic3RhdGljXCJdW2NdO2lmKHcmJk5hKHcpKXt2YXIgej1lLmdsb2JhbCxxPU9iamVjdC5rZXlzKHcpLGs9ITEsbT0hMSxmPSExLG49ZS5nbG9iYWwuZGVmKFwie31cIik7cS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPXdbYl07aWYoZy5pc0R5bmFtaWMoYykpXCJmdW5jdGlvblwiPT09XG50eXBlb2YgYyYmKGM9d1tiXT1nLnVuYm94KGMpKSxiPWEoYyxudWxsKSxrPWt8fGIudGhpc0RlcCxmPWZ8fGIucHJvcERlcCxtPW18fGIuY29udGV4dERlcDtlbHNle3oobixcIi5cIixiLFwiPVwiKTtzd2l0Y2godHlwZW9mIGMpe2Nhc2UgXCJudW1iZXJcIjp6KGMpO2JyZWFrO2Nhc2UgXCJzdHJpbmdcIjp6KCdcIicsYywnXCInKTticmVhaztjYXNlIFwib2JqZWN0XCI6QXJyYXkuaXNBcnJheShjKSYmeihcIltcIixjLmpvaW4oKSxcIl1cIik7YnJlYWs7ZGVmYXVsdDp6KGUubGluayhjKSl9eihcIjtcIil9fSk7Yi5keW5hbWljW2NdPW5ldyBnLkR5bmFtaWNWYXJpYWJsZSg0LHt0aGlzRGVwOmssY29udGV4dERlcDptLHByb3BEZXA6ZixyZWY6bixhcHBlbmQ6aH0pO2RlbGV0ZSBiW1wic3RhdGljXCJdW2NdfX12YXIgQmE9QWEuUmVjb3JkLGNhPXthZGQ6MzI3NzQsc3VidHJhY3Q6MzI3NzgsXCJyZXZlcnNlIHN1YnRyYWN0XCI6MzI3Nzl9O3QuZXh0X2JsZW5kX21pbm1heCYmKGNhLm1pbj0zMjc3NSxjYS5tYXg9MzI3NzYpO1xudmFyIHRhPXQuYW5nbGVfaW5zdGFuY2VkX2FycmF5cyxvYT10LndlYmdsX2RyYXdfYnVmZmVycyxlPXtkaXJ0eTohMCxwcm9maWxlOmdhLnByb2ZpbGV9LHo9e30sdz1bXSx3YT17fSx4YT17fTtSKFwiZGl0aGVyXCIsMzAyNCk7UihcImJsZW5kLmVuYWJsZVwiLDMwNDIpO0coXCJibGVuZC5jb2xvclwiLFwiYmxlbmRDb2xvclwiLFswLDAsMCwwXSk7RyhcImJsZW5kLmVxdWF0aW9uXCIsXCJibGVuZEVxdWF0aW9uU2VwYXJhdGVcIixbMzI3NzQsMzI3NzRdKTtHKFwiYmxlbmQuZnVuY1wiLFwiYmxlbmRGdW5jU2VwYXJhdGVcIixbMSwwLDEsMF0pO1IoXCJkZXB0aC5lbmFibGVcIiwyOTI5LCEwKTtHKFwiZGVwdGguZnVuY1wiLFwiZGVwdGhGdW5jXCIsNTEzKTtHKFwiZGVwdGgucmFuZ2VcIixcImRlcHRoUmFuZ2VcIixbMCwxXSk7RyhcImRlcHRoLm1hc2tcIixcImRlcHRoTWFza1wiLCEwKTtHKFwiY29sb3JNYXNrXCIsXCJjb2xvck1hc2tcIixbITAsITAsITAsITBdKTtSKFwiY3VsbC5lbmFibGVcIiwyODg0KTtHKFwiY3VsbC5mYWNlXCIsXCJjdWxsRmFjZVwiLFxuMTAyOSk7RyhcImZyb250RmFjZVwiLFwiZnJvbnRGYWNlXCIsMjMwNSk7RyhcImxpbmVXaWR0aFwiLFwibGluZVdpZHRoXCIsMSk7UihcInBvbHlnb25PZmZzZXQuZW5hYmxlXCIsMzI4MjMpO0coXCJwb2x5Z29uT2Zmc2V0Lm9mZnNldFwiLFwicG9seWdvbk9mZnNldFwiLFswLDBdKTtSKFwic2FtcGxlLmFscGhhXCIsMzI5MjYpO1IoXCJzYW1wbGUuZW5hYmxlXCIsMzI5MjgpO0coXCJzYW1wbGUuY292ZXJhZ2VcIixcInNhbXBsZUNvdmVyYWdlXCIsWzEsITFdKTtSKFwic3RlbmNpbC5lbmFibGVcIiwyOTYwKTtHKFwic3RlbmNpbC5tYXNrXCIsXCJzdGVuY2lsTWFza1wiLC0xKTtHKFwic3RlbmNpbC5mdW5jXCIsXCJzdGVuY2lsRnVuY1wiLFs1MTksMCwtMV0pO0coXCJzdGVuY2lsLm9wRnJvbnRcIixcInN0ZW5jaWxPcFNlcGFyYXRlXCIsWzEwMjgsNzY4MCw3NjgwLDc2ODBdKTtHKFwic3RlbmNpbC5vcEJhY2tcIixcInN0ZW5jaWxPcFNlcGFyYXRlXCIsWzEwMjksNzY4MCw3NjgwLDc2ODBdKTtSKFwic2Npc3Nvci5lbmFibGVcIiwzMDg5KTtHKFwic2Npc3Nvci5ib3hcIixcblwic2Npc3NvclwiLFswLDAsaC5kcmF3aW5nQnVmZmVyV2lkdGgsaC5kcmF3aW5nQnVmZmVySGVpZ2h0XSk7RyhcInZpZXdwb3J0XCIsXCJ2aWV3cG9ydFwiLFswLDAsaC5kcmF3aW5nQnVmZmVyV2lkdGgsaC5kcmF3aW5nQnVmZmVySGVpZ2h0XSk7dmFyIFFhPXtnbDpoLGNvbnRleHQ6UyxzdHJpbmdzOmYsbmV4dDp6LGN1cnJlbnQ6ZSxkcmF3OnEsZWxlbWVudHM6dSxidWZmZXI6TSxzaGFkZXI6dmEsYXR0cmlidXRlczpBYS5zdGF0ZSx1bmlmb3JtczpLLGZyYW1lYnVmZmVyOkQsZXh0ZW5zaW9uczp0LHRpbWVyOm1hLGlzQnVmZmVyQXJnczpsfSxNYT17cHJpbVR5cGVzOkUsY29tcGFyZUZ1bmNzOkIsYmxlbmRGdW5jczptLGJsZW5kRXF1YXRpb25zOmNhLHN0ZW5jaWxPcHM6WSxnbFR5cGVzOkMsb3JpZW50YXRpb25UeXBlOkx9O29hJiYoTWEuYmFja0J1ZmZlcj1bMTAyOV0sTWEuZHJhd0J1ZmZlcj1GKHAubWF4RHJhd2J1ZmZlcnMsZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1lP1swXTpGKGUsZnVuY3Rpb24oZSl7cmV0dXJuIDM2MDY0K1xuZX0pfSkpO3ZhciBSYT0wO3JldHVybntuZXh0OnosY3VycmVudDplLHByb2NzOmZ1bmN0aW9uKCl7dmFyIGE9YmEoKSxiPWEucHJvYyhcInBvbGxcIiksYz1hLnByb2MoXCJyZWZyZXNoXCIpLGc9YS5ibG9jaygpO2IoZyk7YyhnKTt2YXIgdz1hLnNoYXJlZCx6PXcuZ2wscT13Lm5leHQsaz13LmN1cnJlbnQ7ZyhrLFwiLmRpcnR5PWZhbHNlO1wiKTtPKGEsYik7TyhhLGMsbnVsbCwhMCk7dmFyIG09aC5nZXRFeHRlbnNpb24oXCJhbmdsZV9pbnN0YW5jZWRfYXJyYXlzXCIpLGY7bSYmKGY9YS5saW5rKG0pKTtmb3IodmFyIG49MDtuPHAubWF4QXR0cmlidXRlczsrK24pe3ZhciBsPWMuZGVmKHcuYXR0cmlidXRlcyxcIltcIixuLFwiXVwiKSxCPWEuY29uZChsLFwiLmJ1ZmZlclwiKTtCLnRoZW4oeixcIi5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShcIixuLFwiKTtcIix6LFwiLmJpbmRCdWZmZXIoXCIsMzQ5NjIsXCIsXCIsbCxcIi5idWZmZXIuYnVmZmVyKTtcIix6LFwiLnZlcnRleEF0dHJpYlBvaW50ZXIoXCIsbixcIixcIixsLFwiLnNpemUsXCIsXG5sLFwiLnR5cGUsXCIsbCxcIi5ub3JtYWxpemVkLFwiLGwsXCIuc3RyaWRlLFwiLGwsXCIub2Zmc2V0KTtcIilbXCJlbHNlXCJdKHosXCIuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KFwiLG4sXCIpO1wiLHosXCIudmVydGV4QXR0cmliNGYoXCIsbixcIixcIixsLFwiLngsXCIsbCxcIi55LFwiLGwsXCIueixcIixsLFwiLncpO1wiLGwsXCIuYnVmZmVyPW51bGw7XCIpO2MoQik7bSYmYyhmLFwiLnZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRShcIixuLFwiLFwiLGwsXCIuZGl2aXNvcik7XCIpfU9iamVjdC5rZXlzKHdhKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBoPXdhW2VdLHc9Zy5kZWYocSxcIi5cIixlKSxtPWEuYmxvY2soKTttKFwiaWYoXCIsdyxcIil7XCIseixcIi5lbmFibGUoXCIsaCxcIil9ZWxzZXtcIix6LFwiLmRpc2FibGUoXCIsaCxcIil9XCIsayxcIi5cIixlLFwiPVwiLHcsXCI7XCIpO2MobSk7YihcImlmKFwiLHcsXCIhPT1cIixrLFwiLlwiLGUsXCIpe1wiLG0sXCJ9XCIpfSk7T2JqZWN0LmtleXMoeGEpLmZvckVhY2goZnVuY3Rpb24oaCl7dmFyIHc9eGFbaF0sbT1lW2hdLGYsXG5uLGw9YS5ibG9jaygpO2woeixcIi5cIix3LFwiKFwiKTt5KG0pPyh3PW0ubGVuZ3RoLGY9YS5nbG9iYWwuZGVmKHEsXCIuXCIsaCksbj1hLmdsb2JhbC5kZWYoayxcIi5cIixoKSxsKEYodyxmdW5jdGlvbihlKXtyZXR1cm4gZitcIltcIitlK1wiXVwifSksXCIpO1wiLEYodyxmdW5jdGlvbihlKXtyZXR1cm4gbitcIltcIitlK1wiXT1cIitmK1wiW1wiK2UrXCJdO1wifSkuam9pbihcIlwiKSksYihcImlmKFwiLEYodyxmdW5jdGlvbihlKXtyZXR1cm4gZitcIltcIitlK1wiXSE9PVwiK24rXCJbXCIrZStcIl1cIn0pLmpvaW4oXCJ8fFwiKSxcIil7XCIsbCxcIn1cIikpOihmPWcuZGVmKHEsXCIuXCIsaCksbj1nLmRlZihrLFwiLlwiLGgpLGwoZixcIik7XCIsayxcIi5cIixoLFwiPVwiLGYsXCI7XCIpLGIoXCJpZihcIixmLFwiIT09XCIsbixcIil7XCIsbCxcIn1cIikpO2MobCl9KTtyZXR1cm4gYS5jb21waWxlKCl9KCksY29tcGlsZTpmdW5jdGlvbihlLGEsYixjLGgpe3ZhciBnPWJhKCk7Zy5zdGF0cz1nLmxpbmsoaCk7T2JqZWN0LmtleXMoYVtcInN0YXRpY1wiXSkuZm9yRWFjaChmdW5jdGlvbihlKXtKYShnLFxuYSxlKX0pO24uZm9yRWFjaChmdW5jdGlvbihhKXtKYShnLGUsYSl9KTtiPWxhKGUsYSxiLGMsZyk7SGEoZyxiKTtQYShnLGIpO0RhKGcsYik7cmV0dXJuIGcuY29tcGlsZSgpfX19fSx7XCIuL2NvbnN0YW50cy9kdHlwZXMuanNvblwiOjQsXCIuL2NvbnN0YW50cy9wcmltaXRpdmVzLmpzb25cIjo1LFwiLi9keW5hbWljXCI6OCxcIi4vdXRpbC9jb2RlZ2VuXCI6MjEsXCIuL3V0aWwvaXMtYXJyYXktbGlrZVwiOjI0LFwiLi91dGlsL2lzLW5kYXJyYXlcIjoyNSxcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiOjI2LFwiLi91dGlsL2xvb3BcIjoyN31dLDg6W2Z1bmN0aW9uKGYscCx1KXtmdW5jdGlvbiBsKGMsYSl7dGhpcy5pZD1yKys7dGhpcy50eXBlPWM7dGhpcy5kYXRhPWF9ZnVuY3Rpb24gayhjKXtpZigwPT09Yy5sZW5ndGgpcmV0dXJuW107dmFyIGE9Yy5jaGFyQXQoMCksYj1jLmNoYXJBdChjLmxlbmd0aC0xKTtpZigxPGMubGVuZ3RoJiZhPT09YiYmKCdcIic9PT1hfHxcIidcIj09PWEpKXJldHVyblsnXCInK2Muc3Vic3RyKDEsXG5jLmxlbmd0aC0yKS5yZXBsYWNlKC9cXFxcL2csXCJcXFxcXFxcXFwiKS5yZXBsYWNlKC9cIi9nLCdcXFxcXCInKSsnXCInXTtpZihhPS9cXFsoZmFsc2V8dHJ1ZXxudWxsfFxcZCt8J1teJ10qJ3xcIlteXCJdKlwiKVxcXS8uZXhlYyhjKSlyZXR1cm4gayhjLnN1YnN0cigwLGEuaW5kZXgpKS5jb25jYXQoayhhWzFdKSkuY29uY2F0KGsoYy5zdWJzdHIoYS5pbmRleCthWzBdLmxlbmd0aCkpKTthPWMuc3BsaXQoXCIuXCIpO2lmKDE9PT1hLmxlbmd0aClyZXR1cm5bJ1wiJytjLnJlcGxhY2UoL1xcXFwvZyxcIlxcXFxcXFxcXCIpLnJlcGxhY2UoL1wiL2csJ1xcXFxcIicpKydcIiddO2M9W107Zm9yKGI9MDtiPGEubGVuZ3RoOysrYiljPWMuY29uY2F0KGsoYVtiXSkpO3JldHVybiBjfWZ1bmN0aW9uIHgoYyl7cmV0dXJuXCJbXCIrayhjKS5qb2luKFwiXVtcIikrXCJdXCJ9dmFyIHI9MDtwLmV4cG9ydHM9e0R5bmFtaWNWYXJpYWJsZTpsLGRlZmluZTpmdW5jdGlvbihjLGEpe3JldHVybiBuZXcgbChjLHgoYStcIlwiKSl9LGlzRHluYW1pYzpmdW5jdGlvbihjKXtyZXR1cm5cImZ1bmN0aW9uXCI9PT1cbnR5cGVvZiBjJiYhYy5fcmVnbFR5cGV8fGMgaW5zdGFuY2VvZiBsfSx1bmJveDpmdW5jdGlvbihjLGEpe3JldHVyblwiZnVuY3Rpb25cIj09PXR5cGVvZiBjP25ldyBsKDAsYyk6Y30sYWNjZXNzb3I6eH19LHt9XSw5OltmdW5jdGlvbihmLHAsdSl7dmFyIGw9ZihcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiKSxrPWYoXCIuL3V0aWwvaXMtbmRhcnJheVwiKSx4PWYoXCIuL3V0aWwvdmFsdWVzXCIpLHI9ZihcIi4vY29uc3RhbnRzL3ByaW1pdGl2ZXMuanNvblwiKSxjPWYoXCIuL2NvbnN0YW50cy91c2FnZS5qc29uXCIpO3AuZXhwb3J0cz1mdW5jdGlvbihhLGIsZixwKXtmdW5jdGlvbiB0KGEpe3RoaXMuaWQ9QysrO0VbdGhpcy5pZF09dGhpczt0aGlzLmJ1ZmZlcj1hO3RoaXMucHJpbVR5cGU9NDt0aGlzLnR5cGU9dGhpcy52ZXJ0Q291bnQ9MH1mdW5jdGlvbiB5KGMsZyxuLHIseCxoLHQpe2MuYnVmZmVyLmJpbmQoKTtpZihnKXt2YXIgeT10O3R8fGwoZykmJighayhnKXx8bChnLmRhdGEpKXx8KHk9Yi5vZXNfZWxlbWVudF9pbmRleF91aW50P1xuNTEyNTo1MTIzKTtmLl9pbml0QnVmZmVyKGMuYnVmZmVyLGcsbix5LDMpfWVsc2UgYS5idWZmZXJEYXRhKDM0OTYzLGgsbiksYy5idWZmZXIuZHR5cGU9eXx8NTEyMSxjLmJ1ZmZlci51c2FnZT1uLGMuYnVmZmVyLmRpbWVuc2lvbj0zLGMuYnVmZmVyLmJ5dGVMZW5ndGg9aDt5PXQ7aWYoIXQpe3N3aXRjaChjLmJ1ZmZlci5kdHlwZSl7Y2FzZSA1MTIxOmNhc2UgNTEyMDp5PTUxMjE7YnJlYWs7Y2FzZSA1MTIzOmNhc2UgNTEyMjp5PTUxMjM7YnJlYWs7Y2FzZSA1MTI1OmNhc2UgNTEyNDp5PTUxMjV9Yy5idWZmZXIuZHR5cGU9eX1jLnR5cGU9eTtnPXg7MD5nJiYoZz1jLmJ1ZmZlci5ieXRlTGVuZ3RoLDUxMjM9PT15P2c+Pj0xOjUxMjU9PT15JiYoZz4+PTIpKTtjLnZlcnRDb3VudD1nO2c9cjswPnImJihnPTQscj1jLmJ1ZmZlci5kaW1lbnNpb24sMT09PXImJihnPTApLDI9PT1yJiYoZz0xKSwzPT09ciYmKGc9NCkpO2MucHJpbVR5cGU9Z31mdW5jdGlvbiBnKGEpe3AuZWxlbWVudHNDb3VudC0tO1xuZGVsZXRlIEVbYS5pZF07YS5idWZmZXIuZGVzdHJveSgpO2EuYnVmZmVyPW51bGx9dmFyIEU9e30sQz0wLE49e3VpbnQ4OjUxMjEsdWludDE2OjUxMjN9O2Iub2VzX2VsZW1lbnRfaW5kZXhfdWludCYmKE4udWludDMyPTUxMjUpO3QucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmJ1ZmZlci5iaW5kKCl9O3ZhciBuPVtdO3JldHVybntjcmVhdGU6ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBuKGEpe2lmKGEpaWYoXCJudW1iZXJcIj09PXR5cGVvZiBhKXgoYSksQy5wcmltVHlwZT00LEMudmVydENvdW50PWF8MCxDLnR5cGU9NTEyMTtlbHNle3ZhciBiPW51bGwsZz0zNTA0NCxtPS0xLGY9LTEsdD0wLEI9MDtpZihBcnJheS5pc0FycmF5KGEpfHxsKGEpfHxrKGEpKWI9YTtlbHNlIGlmKFwiZGF0YVwiaW4gYSYmKGI9YS5kYXRhKSxcInVzYWdlXCJpbiBhJiYoZz1jW2EudXNhZ2VdKSxcInByaW1pdGl2ZVwiaW4gYSYmKG09clthLnByaW1pdGl2ZV0pLFwiY291bnRcImluIGEmJihmPWEuY291bnR8MCksXG5cInR5cGVcImluIGEmJihCPU5bYS50eXBlXSksXCJsZW5ndGhcImluIGEpdD1hLmxlbmd0aHwwO2Vsc2UgaWYodD1mLDUxMjM9PT1CfHw1MTIyPT09Qil0Kj0yO2Vsc2UgaWYoNTEyNT09PUJ8fDUxMjQ9PT1CKXQqPTQ7eShDLGIsZyxtLGYsdCxCKX1lbHNlIHgoKSxDLnByaW1UeXBlPTQsQy52ZXJ0Q291bnQ9MCxDLnR5cGU9NTEyMTtyZXR1cm4gbn12YXIgeD1mLmNyZWF0ZShudWxsLDM0OTYzLCEwKSxDPW5ldyB0KHguX2J1ZmZlcik7cC5lbGVtZW50c0NvdW50Kys7bihhKTtuLl9yZWdsVHlwZT1cImVsZW1lbnRzXCI7bi5fZWxlbWVudHM9QztuLnN1YmRhdGE9ZnVuY3Rpb24oYSxiKXt4LnN1YmRhdGEoYSxiKTtyZXR1cm4gbn07bi5kZXN0cm95PWZ1bmN0aW9uKCl7ZyhDKX07cmV0dXJuIG59LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbihhKXt2YXIgYj1uLnBvcCgpO2J8fChiPW5ldyB0KGYuY3JlYXRlKG51bGwsMzQ5NjMsITAsITEpLl9idWZmZXIpKTt5KGIsYSwzNTA0MCwtMSwtMSwwLDApO3JldHVybiBifSxcbmRlc3Ryb3lTdHJlYW06ZnVuY3Rpb24oYSl7bi5wdXNoKGEpfSxnZXRFbGVtZW50czpmdW5jdGlvbihhKXtyZXR1cm5cImZ1bmN0aW9uXCI9PT10eXBlb2YgYSYmYS5fZWxlbWVudHMgaW5zdGFuY2VvZiB0P2EuX2VsZW1lbnRzOm51bGx9LGNsZWFyOmZ1bmN0aW9uKCl7eChFKS5mb3JFYWNoKGcpfX19fSx7XCIuL2NvbnN0YW50cy9wcmltaXRpdmVzLmpzb25cIjo1LFwiLi9jb25zdGFudHMvdXNhZ2UuanNvblwiOjYsXCIuL3V0aWwvaXMtbmRhcnJheVwiOjI1LFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCI6MjYsXCIuL3V0aWwvdmFsdWVzXCI6MzF9XSwxMDpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1mdW5jdGlvbihmLGspe2Z1bmN0aW9uIHgoYSl7YT1hLnRvTG93ZXJDYXNlKCk7dmFyIGM7dHJ5e2M9clthXT1mLmdldEV4dGVuc2lvbihhKX1jYXRjaChrKXt9cmV0dXJuISFjfWZvcih2YXIgcj17fSxjPTA7YzxrLmV4dGVuc2lvbnMubGVuZ3RoOysrYyl7dmFyIGE9ay5leHRlbnNpb25zW2NdO2lmKCF4KGEpKXJldHVybiBrLm9uRGVzdHJveSgpLFxuay5vbkRvbmUoJ1wiJythKydcIiBleHRlbnNpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBXZWJHTCBjb250ZXh0LCB0cnkgdXBncmFkaW5nIHlvdXIgc3lzdGVtIG9yIGEgZGlmZmVyZW50IGJyb3dzZXInKSxudWxsfWsub3B0aW9uYWxFeHRlbnNpb25zLmZvckVhY2goeCk7cmV0dXJue2V4dGVuc2lvbnM6cixyZXN0b3JlOmZ1bmN0aW9uKCl7T2JqZWN0LmtleXMocikuZm9yRWFjaChmdW5jdGlvbihhKXtpZigheChhKSl0aHJvdyBFcnJvcihcIihyZWdsKTogZXJyb3IgcmVzdG9yaW5nIGV4dGVuc2lvbiBcIithKTt9KX19fX0se31dLDExOltmdW5jdGlvbihmLHAsdSl7dmFyIGw9ZihcIi4vdXRpbC92YWx1ZXNcIiksaz1mKFwiLi91dGlsL2V4dGVuZFwiKSx4PVtdO3hbNjQwOF09NDt2YXIgcj1bXTtyWzUxMjFdPTE7cls1MTI2XT00O3JbMzYxOTNdPTI7cC5leHBvcnRzPWZ1bmN0aW9uKGMsYSxiLGYscCx0KXtmdW5jdGlvbiB5KGEsYyxiKXt0aGlzLnRhcmdldD1hO3RoaXMudGV4dHVyZT1cbmM7dGhpcy5yZW5kZXJidWZmZXI9Yjt2YXIgaD1hPTA7Yz8oYT1jLndpZHRoLGg9Yy5oZWlnaHQpOmImJihhPWIud2lkdGgsaD1iLmhlaWdodCk7dGhpcy53aWR0aD1hO3RoaXMuaGVpZ2h0PWh9ZnVuY3Rpb24gZyhhKXthJiYoYS50ZXh0dXJlJiZhLnRleHR1cmUuX3RleHR1cmUuZGVjUmVmKCksYS5yZW5kZXJidWZmZXImJmEucmVuZGVyYnVmZmVyLl9yZW5kZXJidWZmZXIuZGVjUmVmKCkpfWZ1bmN0aW9uIEUoYSxjLGIpe2EmJihhLnRleHR1cmU/YS50ZXh0dXJlLl90ZXh0dXJlLnJlZkNvdW50Kz0xOmEucmVuZGVyYnVmZmVyLl9yZW5kZXJidWZmZXIucmVmQ291bnQrPTEpfWZ1bmN0aW9uIEMoYSxiKXtiJiYoYi50ZXh0dXJlP2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsYSxiLnRhcmdldCxiLnRleHR1cmUuX3RleHR1cmUudGV4dHVyZSwwKTpjLmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLGEsMzYxNjEsYi5yZW5kZXJidWZmZXIuX3JlbmRlcmJ1ZmZlci5yZW5kZXJidWZmZXIpKX1cbmZ1bmN0aW9uIE4oYSl7dmFyIGI9MzU1MyxjPW51bGwsaD1udWxsLGc9YTtcIm9iamVjdFwiPT09dHlwZW9mIGEmJihnPWEuZGF0YSxcInRhcmdldFwiaW4gYSYmKGI9YS50YXJnZXR8MCkpO2E9Zy5fcmVnbFR5cGU7XCJ0ZXh0dXJlMmRcIj09PWE/Yz1nOlwidGV4dHVyZUN1YmVcIj09PWE/Yz1nOlwicmVuZGVyYnVmZmVyXCI9PT1hJiYoaD1nLGI9MzYxNjEpO3JldHVybiBuZXcgeShiLGMsaCl9ZnVuY3Rpb24gbihhLGIsYyxoLGcpe2lmKGMpcmV0dXJuIGE9Zi5jcmVhdGUyRCh7d2lkdGg6YSxoZWlnaHQ6Yixmb3JtYXQ6aCx0eXBlOmd9KSxhLl90ZXh0dXJlLnJlZkNvdW50PTAsbmV3IHkoMzU1MyxhLG51bGwpO2E9cC5jcmVhdGUoe3dpZHRoOmEsaGVpZ2h0OmIsZm9ybWF0Omh9KTthLl9yZW5kZXJidWZmZXIucmVmQ291bnQ9MDtyZXR1cm4gbmV3IHkoMzYxNjEsbnVsbCxhKX1mdW5jdGlvbiBtKGEpe3JldHVybiBhJiYoYS50ZXh0dXJlfHxhLnJlbmRlcmJ1ZmZlcil9ZnVuY3Rpb24gQihhLGIsYyl7YSYmXG4oYS50ZXh0dXJlP2EudGV4dHVyZS5yZXNpemUoYixjKTphLnJlbmRlcmJ1ZmZlciYmYS5yZW5kZXJidWZmZXIucmVzaXplKGIsYykpfWZ1bmN0aW9uIHUoKXt0aGlzLmlkPVorKztEW3RoaXMuaWRdPXRoaXM7dGhpcy5mcmFtZWJ1ZmZlcj1jLmNyZWF0ZUZyYW1lYnVmZmVyKCk7dGhpcy5oZWlnaHQ9dGhpcy53aWR0aD0wO3RoaXMuY29sb3JBdHRhY2htZW50cz1bXTt0aGlzLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQ9dGhpcy5zdGVuY2lsQXR0YWNobWVudD10aGlzLmRlcHRoQXR0YWNobWVudD1udWxsfWZ1bmN0aW9uIEwoYSl7YS5jb2xvckF0dGFjaG1lbnRzLmZvckVhY2goZyk7ZyhhLmRlcHRoQXR0YWNobWVudCk7ZyhhLnN0ZW5jaWxBdHRhY2htZW50KTtnKGEuZGVwdGhTdGVuY2lsQXR0YWNobWVudCl9ZnVuY3Rpb24gSChhKXtjLmRlbGV0ZUZyYW1lYnVmZmVyKGEuZnJhbWVidWZmZXIpO2EuZnJhbWVidWZmZXI9bnVsbDt0LmZyYW1lYnVmZmVyQ291bnQtLTtkZWxldGUgRFthLmlkXX1cbmZ1bmN0aW9uIGgoYSl7dmFyIGg7Yy5iaW5kRnJhbWVidWZmZXIoMzYxNjAsYS5mcmFtZWJ1ZmZlcik7dmFyIGc9YS5jb2xvckF0dGFjaG1lbnRzO2ZvcihoPTA7aDxnLmxlbmd0aDsrK2gpQygzNjA2NCtoLGdbaF0pO2ZvcihoPWcubGVuZ3RoO2g8Yi5tYXhDb2xvckF0dGFjaG1lbnRzOysraCljLmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0K2gsMzU1MyxudWxsLDApO2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzMzMDYsMzU1MyxudWxsLDApO2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwOTYsMzU1MyxudWxsLDApO2MuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYxMjgsMzU1MyxudWxsLDApO0MoMzYwOTYsYS5kZXB0aEF0dGFjaG1lbnQpO0MoMzYxMjgsYS5zdGVuY2lsQXR0YWNobWVudCk7QygzMzMwNixhLmRlcHRoU3RlbmNpbEF0dGFjaG1lbnQpO2MuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cygzNjE2MCk7Yy5iaW5kRnJhbWVidWZmZXIoMzYxNjAsXG5LYS5uZXh0KTtLYS5jdXI9S2EubmV4dDtjLmdldEVycm9yKCl9ZnVuY3Rpb24gZmEoYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGssZj0wLGw9MCx0PSEwLHk9ITA7az1udWxsO3ZhciBCPSEwLEM9XCJyZ2JhXCIsRj1cInVpbnQ4XCIscD0xLE09bnVsbCxIPW51bGwsdT1udWxsLFk9ITE7aWYoXCJudW1iZXJcIj09PXR5cGVvZiBhKWY9YXwwLGw9YnwwfHxmO2Vsc2UgaWYoYSl7XCJzaGFwZVwiaW4gYT8obD1hLnNoYXBlLGY9bFswXSxsPWxbMV0pOihcInJhZGl1c1wiaW4gYSYmKGY9bD1hLnJhZGl1cyksXCJ3aWR0aFwiaW4gYSYmKGY9YS53aWR0aCksXCJoZWlnaHRcImluIGEmJihsPWEuaGVpZ2h0KSk7aWYoXCJjb2xvclwiaW4gYXx8XCJjb2xvcnNcImluIGEpaz1hLmNvbG9yfHxhLmNvbG9ycyxBcnJheS5pc0FycmF5KGspO2lmKCFrKXtcImNvbG9yQ291bnRcImluIGEmJihwPWEuY29sb3JDb3VudHwwKTtcImNvbG9yVGV4dHVyZVwiaW4gYSYmKEI9ISFhLmNvbG9yVGV4dHVyZSxDPVwicmdiYTRcIik7aWYoXCJjb2xvclR5cGVcImluXG5hJiYoRj1hLmNvbG9yVHlwZSwhQikpaWYoXCJoYWxmIGZsb2F0XCI9PT1GfHxcImZsb2F0MTZcIj09PUYpQz1cInJnYmExNmZcIjtlbHNlIGlmKFwiZmxvYXRcIj09PUZ8fFwiZmxvYXQzMlwiPT09RilDPVwicmdiYTMyZlwiO1wiY29sb3JGb3JtYXRcImluIGEmJihDPWEuY29sb3JGb3JtYXQsMDw9TGEuaW5kZXhPZihDKT9CPSEwOjA8PXphLmluZGV4T2YoQykmJihCPSExKSl9aWYoXCJkZXB0aFRleHR1cmVcImluIGF8fFwiZGVwdGhTdGVuY2lsVGV4dHVyZVwiaW4gYSlZPSEoIWEuZGVwdGhUZXh0dXJlJiYhYS5kZXB0aFN0ZW5jaWxUZXh0dXJlKTtcImRlcHRoXCJpbiBhJiYoXCJib29sZWFuXCI9PT10eXBlb2YgYS5kZXB0aD90PWEuZGVwdGg6KE09YS5kZXB0aCx5PSExKSk7XCJzdGVuY2lsXCJpbiBhJiYoXCJib29sZWFuXCI9PT10eXBlb2YgYS5zdGVuY2lsP3k9YS5zdGVuY2lsOihIPWEuc3RlbmNpbCx0PSExKSk7XCJkZXB0aFN0ZW5jaWxcImluIGEmJihcImJvb2xlYW5cIj09PXR5cGVvZiBhLmRlcHRoU3RlbmNpbD90PXk9YS5kZXB0aFN0ZW5jaWw6XG4odT1hLmRlcHRoU3RlbmNpbCx5PXQ9ITEpKX1lbHNlIGY9bD0xO3ZhciBEPW51bGwsZmE9bnVsbCxLPW51bGwsTz1udWxsO2lmKEFycmF5LmlzQXJyYXkoaykpRD1rLm1hcChOKTtlbHNlIGlmKGspRD1bTihrKV07ZWxzZSBmb3IoRD1BcnJheShwKSxrPTA7azxwOysraylEW2tdPW4oZixsLEIsQyxGKTtmPWZ8fERbMF0ud2lkdGg7bD1sfHxEWzBdLmhlaWdodDtNP2ZhPU4oTSk6dCYmIXkmJihmYT1uKGYsbCxZLFwiZGVwdGhcIixcInVpbnQzMlwiKSk7SD9LPU4oSCk6eSYmIXQmJihLPW4oZixsLCExLFwic3RlbmNpbFwiLFwidWludDhcIikpO3U/Tz1OKHUpOiFNJiYhSCYmeSYmdCYmKE89bihmLGwsWSxcImRlcHRoIHN0ZW5jaWxcIixcImRlcHRoIHN0ZW5jaWxcIikpO3Q9bnVsbDtmb3Ioaz0wO2s8RC5sZW5ndGg7KytrKUUoRFtrXSxmLGwpLERba10mJkRba10udGV4dHVyZSYmKHk9eFtEW2tdLnRleHR1cmUuX3RleHR1cmUuZm9ybWF0XSpyW0Rba10udGV4dHVyZS5fdGV4dHVyZS50eXBlXSxudWxsPT09XG50JiYodD15KSk7RShmYSxmLGwpO0UoSyxmLGwpO0UoTyxmLGwpO0woZyk7Zy53aWR0aD1mO2cuaGVpZ2h0PWw7Zy5jb2xvckF0dGFjaG1lbnRzPUQ7Zy5kZXB0aEF0dGFjaG1lbnQ9ZmE7Zy5zdGVuY2lsQXR0YWNobWVudD1LO2cuZGVwdGhTdGVuY2lsQXR0YWNobWVudD1PO2MuY29sb3I9RC5tYXAobSk7Yy5kZXB0aD1tKGZhKTtjLnN0ZW5jaWw9bShLKTtjLmRlcHRoU3RlbmNpbD1tKE8pO2Mud2lkdGg9Zy53aWR0aDtjLmhlaWdodD1nLmhlaWdodDtoKGcpO3JldHVybiBjfXZhciBnPW5ldyB1O3QuZnJhbWVidWZmZXJDb3VudCsrO2MoYSxiKTtyZXR1cm4gayhjLHtyZXNpemU6ZnVuY3Rpb24oYSxiKXt2YXIgaz1hfDAsZj1ifDB8fGs7aWYoaz09PWcud2lkdGgmJmY9PT1nLmhlaWdodClyZXR1cm4gYztmb3IodmFyIG09Zy5jb2xvckF0dGFjaG1lbnRzLGw9MDtsPG0ubGVuZ3RoOysrbClCKG1bbF0sayxmKTtCKGcuZGVwdGhBdHRhY2htZW50LGssZik7QihnLnN0ZW5jaWxBdHRhY2htZW50LFxuayxmKTtCKGcuZGVwdGhTdGVuY2lsQXR0YWNobWVudCxrLGYpO2cud2lkdGg9Yy53aWR0aD1rO2cuaGVpZ2h0PWMuaGVpZ2h0PWY7aChnKTtyZXR1cm4gY30sX3JlZ2xUeXBlOlwiZnJhbWVidWZmZXJcIixfZnJhbWVidWZmZXI6ZyxkZXN0cm95OmZ1bmN0aW9uKCl7SChnKTtMKGcpfX0pfXZhciBLYT17Y3VyOm51bGwsbmV4dDpudWxsLGRpcnR5OiExfSxMYT1bXCJyZ2JhXCJdLHphPVtcInJnYmE0XCIsXCJyZ2I1NjVcIixcInJnYjUgYTFcIl07YS5leHRfc3JnYiYmemEucHVzaChcInNyZ2JhXCIpO2EuZXh0X2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0JiZ6YS5wdXNoKFwicmdiYTE2ZlwiLFwicmdiMTZmXCIpO2Eud2ViZ2xfY29sb3JfYnVmZmVyX2Zsb2F0JiZ6YS5wdXNoKFwicmdiYTMyZlwiKTt2YXIgR2E9W1widWludDhcIl07YS5vZXNfdGV4dHVyZV9oYWxmX2Zsb2F0JiZHYS5wdXNoKFwiaGFsZiBmbG9hdFwiLFwiZmxvYXQxNlwiKTthLm9lc190ZXh0dXJlX2Zsb2F0JiZHYS5wdXNoKFwiZmxvYXRcIixcImZsb2F0MzJcIik7dmFyIFo9XG4wLEQ9e307cmV0dXJuIGsoS2Ese2dldEZyYW1lYnVmZmVyOmZ1bmN0aW9uKGEpe3JldHVyblwiZnVuY3Rpb25cIj09PXR5cGVvZiBhJiZcImZyYW1lYnVmZmVyXCI9PT1hLl9yZWdsVHlwZSYmKGE9YS5fZnJhbWVidWZmZXIsYSBpbnN0YW5jZW9mIHUpP2E6bnVsbH0sY3JlYXRlOmZhLGNyZWF0ZUN1YmU6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYyhhKXt2YXIgZyxoPXtjb2xvcjpudWxsfSxtPTAsbD1udWxsO2c9XCJyZ2JhXCI7dmFyIG49XCJ1aW50OFwiLHI9MTtpZihcIm51bWJlclwiPT09dHlwZW9mIGEpbT1hfDA7ZWxzZSBpZihhKXtcInNoYXBlXCJpbiBhP209YS5zaGFwZVswXTooXCJyYWRpdXNcImluIGEmJihtPWEucmFkaXVzfDApLFwid2lkdGhcImluIGE/bT1hLndpZHRofDA6XCJoZWlnaHRcImluIGEmJihtPWEuaGVpZ2h0fDApKTtpZihcImNvbG9yXCJpbiBhfHxcImNvbG9yc1wiaW4gYSlsPWEuY29sb3J8fGEuY29sb3JzLEFycmF5LmlzQXJyYXkobCk7bHx8KFwiY29sb3JDb3VudFwiaW4gYSYmKHI9YS5jb2xvckNvdW50fFxuMCksXCJjb2xvclR5cGVcImluIGEmJihuPWEuY29sb3JUeXBlKSxcImNvbG9yRm9ybWF0XCJpbiBhJiYoZz1hLmNvbG9yRm9ybWF0KSk7XCJkZXB0aFwiaW4gYSYmKGguZGVwdGg9YS5kZXB0aCk7XCJzdGVuY2lsXCJpbiBhJiYoaC5zdGVuY2lsPWEuc3RlbmNpbCk7XCJkZXB0aFN0ZW5jaWxcImluIGEmJihoLmRlcHRoU3RlbmNpbD1hLmRlcHRoU3RlbmNpbCl9ZWxzZSBtPTE7aWYobClpZihBcnJheS5pc0FycmF5KGwpKWZvcihhPVtdLGc9MDtnPGwubGVuZ3RoOysrZylhW2ddPWxbZ107ZWxzZSBhPVtsXTtlbHNlIGZvcihhPUFycmF5KHIpLGw9e3JhZGl1czptLGZvcm1hdDpnLHR5cGU6bn0sZz0wO2c8cjsrK2cpYVtnXT1mLmNyZWF0ZUN1YmUobCk7aC5jb2xvcj1BcnJheShhLmxlbmd0aCk7Zm9yKGc9MDtnPGEubGVuZ3RoOysrZylyPWFbZ10sbT1tfHxyLndpZHRoLGguY29sb3JbZ109e3RhcmdldDozNDA2OSxkYXRhOmFbZ119O2ZvcihnPTA7Nj5nOysrZyl7Zm9yKHI9MDtyPGEubGVuZ3RoOysrciloLmNvbG9yW3JdLnRhcmdldD1cbjM0MDY5K2c7MDxnJiYoaC5kZXB0aD1iWzBdLmRlcHRoLGguc3RlbmNpbD1iWzBdLnN0ZW5jaWwsaC5kZXB0aFN0ZW5jaWw9YlswXS5kZXB0aFN0ZW5jaWwpO2lmKGJbZ10pYltnXShoKTtlbHNlIGJbZ109ZmEoaCl9cmV0dXJuIGsoYyx7d2lkdGg6bSxoZWlnaHQ6bSxjb2xvcjphfSl9dmFyIGI9QXJyYXkoNik7YyhhKTtyZXR1cm4gayhjLHtmYWNlczpiLHJlc2l6ZTpmdW5jdGlvbihhKXt2YXIgZz1hfDA7aWYoZz09PWMud2lkdGgpcmV0dXJuIGM7dmFyIGg9Yy5jb2xvcjtmb3IoYT0wO2E8aC5sZW5ndGg7KythKWhbYV0ucmVzaXplKGcpO2ZvcihhPTA7Nj5hOysrYSliW2FdLnJlc2l6ZShnKTtjLndpZHRoPWMuaGVpZ2h0PWc7cmV0dXJuIGN9LF9yZWdsVHlwZTpcImZyYW1lYnVmZmVyQ3ViZVwiLGRlc3Ryb3k6ZnVuY3Rpb24oKXtiLmZvckVhY2goZnVuY3Rpb24oYSl7YS5kZXN0cm95KCl9KX19KX0sY2xlYXI6ZnVuY3Rpb24oKXtsKEQpLmZvckVhY2goSCl9LHJlc3RvcmU6ZnVuY3Rpb24oKXtsKEQpLmZvckVhY2goZnVuY3Rpb24oYSl7YS5mcmFtZWJ1ZmZlcj1cbmMuY3JlYXRlRnJhbWVidWZmZXIoKTtoKGEpfSl9fSl9fSx7XCIuL3V0aWwvZXh0ZW5kXCI6MjIsXCIuL3V0aWwvdmFsdWVzXCI6MzF9XSwxMjpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1mdW5jdGlvbihmLGspe3ZhciB4PTE7ay5leHRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMmJih4PWYuZ2V0UGFyYW1ldGVyKDM0MDQ3KSk7dmFyIHI9MSxjPTE7ay53ZWJnbF9kcmF3X2J1ZmZlcnMmJihyPWYuZ2V0UGFyYW1ldGVyKDM0ODUyKSxjPWYuZ2V0UGFyYW1ldGVyKDM2MDYzKSk7cmV0dXJue2NvbG9yQml0czpbZi5nZXRQYXJhbWV0ZXIoMzQxMCksZi5nZXRQYXJhbWV0ZXIoMzQxMSksZi5nZXRQYXJhbWV0ZXIoMzQxMiksZi5nZXRQYXJhbWV0ZXIoMzQxMyldLGRlcHRoQml0czpmLmdldFBhcmFtZXRlcigzNDE0KSxzdGVuY2lsQml0czpmLmdldFBhcmFtZXRlcigzNDE1KSxzdWJwaXhlbEJpdHM6Zi5nZXRQYXJhbWV0ZXIoMzQwOCksZXh0ZW5zaW9uczpPYmplY3Qua2V5cyhrKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuISFrW2FdfSksXG5tYXhBbmlzb3Ryb3BpYzp4LG1heERyYXdidWZmZXJzOnIsbWF4Q29sb3JBdHRhY2htZW50czpjLHBvaW50U2l6ZURpbXM6Zi5nZXRQYXJhbWV0ZXIoMzM5MDEpLGxpbmVXaWR0aERpbXM6Zi5nZXRQYXJhbWV0ZXIoMzM5MDIpLG1heFZpZXdwb3J0RGltczpmLmdldFBhcmFtZXRlcigzMzg2KSxtYXhDb21iaW5lZFRleHR1cmVVbml0czpmLmdldFBhcmFtZXRlcigzNTY2MSksbWF4Q3ViZU1hcFNpemU6Zi5nZXRQYXJhbWV0ZXIoMzQwNzYpLG1heFJlbmRlcmJ1ZmZlclNpemU6Zi5nZXRQYXJhbWV0ZXIoMzQwMjQpLG1heFRleHR1cmVVbml0czpmLmdldFBhcmFtZXRlcigzNDkzMCksbWF4VGV4dHVyZVNpemU6Zi5nZXRQYXJhbWV0ZXIoMzM3OSksbWF4QXR0cmlidXRlczpmLmdldFBhcmFtZXRlcigzNDkyMSksbWF4VmVydGV4VW5pZm9ybXM6Zi5nZXRQYXJhbWV0ZXIoMzYzNDcpLG1heFZlcnRleFRleHR1cmVVbml0czpmLmdldFBhcmFtZXRlcigzNTY2MCksbWF4VmFyeWluZ1ZlY3RvcnM6Zi5nZXRQYXJhbWV0ZXIoMzYzNDgpLFxubWF4RnJhZ21lbnRVbmlmb3JtczpmLmdldFBhcmFtZXRlcigzNjM0OSksZ2xzbDpmLmdldFBhcmFtZXRlcigzNTcyNCkscmVuZGVyZXI6Zi5nZXRQYXJhbWV0ZXIoNzkzNyksdmVuZG9yOmYuZ2V0UGFyYW1ldGVyKDc5MzYpLHZlcnNpb246Zi5nZXRQYXJhbWV0ZXIoNzkzOCl9fX0se31dLDEzOltmdW5jdGlvbihmLHAsdSl7dmFyIGw9ZihcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiKTtwLmV4cG9ydHM9ZnVuY3Rpb24oayxmLHIsYyxhLGIpe3JldHVybiBmdW5jdGlvbihhKXt2YXIgYjtiPW51bGw9PT1mLm5leHQ/NTEyMTpmLm5leHQuY29sb3JBdHRhY2htZW50c1swXS50ZXh0dXJlLl90ZXh0dXJlLnR5cGU7dmFyIHQ9MCx5PTAsZz1jLmZyYW1lYnVmZmVyV2lkdGgscD1jLmZyYW1lYnVmZmVySGVpZ2h0LEM9bnVsbDtsKGEpP0M9YTphJiYodD1hLnh8MCx5PWEueXwwLGc9KGEud2lkdGh8fGMuZnJhbWVidWZmZXJXaWR0aC10KXwwLHA9KGEuaGVpZ2h0fHxjLmZyYW1lYnVmZmVySGVpZ2h0LVxueSl8MCxDPWEuZGF0YXx8bnVsbCk7cigpO2E9ZypwKjQ7Q3x8KDUxMjE9PT1iP0M9bmV3IFVpbnQ4QXJyYXkoYSk6NTEyNj09PWImJihDPUN8fG5ldyBGbG9hdDMyQXJyYXkoYSkpKTtrLnBpeGVsU3RvcmVpKDMzMzMsNCk7ay5yZWFkUGl4ZWxzKHQseSxnLHAsNjQwOCxiLEMpO3JldHVybiBDfX19LHtcIi4vdXRpbC9pcy10eXBlZC1hcnJheVwiOjI2fV0sMTQ6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi91dGlsL3ZhbHVlc1wiKSxrPVtdO2tbMzI4NTRdPTI7a1szMjg1NV09MjtrWzM2MTk0XT0yO2tbMzMxODldPTI7a1szNjE2OF09MTtrWzM0MDQxXT00O2tbMzU5MDddPTQ7a1szNDgzNl09MTY7a1szNDg0Ml09ODtrWzM0ODQzXT02O3AuZXhwb3J0cz1mdW5jdGlvbihmLHIsYyxhLGIpe2Z1bmN0aW9uIHAoYSl7dGhpcy5pZD1nKys7dGhpcy5yZWZDb3VudD0xO3RoaXMucmVuZGVyYnVmZmVyPWE7dGhpcy5mb3JtYXQ9MzI4NTQ7dGhpcy5oZWlnaHQ9dGhpcy53aWR0aD0wO2IucHJvZmlsZSYmXG4odGhpcy5zdGF0cz17c2l6ZTowfSl9ZnVuY3Rpb24gTShiKXt2YXIgYz1iLnJlbmRlcmJ1ZmZlcjtmLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbnVsbCk7Zi5kZWxldGVSZW5kZXJidWZmZXIoYyk7Yi5yZW5kZXJidWZmZXI9bnVsbDtiLnJlZkNvdW50PTA7ZGVsZXRlIEVbYi5pZF07YS5yZW5kZXJidWZmZXJDb3VudC0tfXZhciB0PXtyZ2JhNDozMjg1NCxyZ2I1NjU6MzYxOTQsXCJyZ2I1IGExXCI6MzI4NTUsZGVwdGg6MzMxODksc3RlbmNpbDozNjE2OCxcImRlcHRoIHN0ZW5jaWxcIjozNDA0MX07ci5leHRfc3JnYiYmKHQuc3JnYmE9MzU5MDcpO3IuZXh0X2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0JiYodC5yZ2JhMTZmPTM0ODQyLHQucmdiMTZmPTM0ODQzKTtyLndlYmdsX2NvbG9yX2J1ZmZlcl9mbG9hdCYmKHQucmdiYTMyZj0zNDgzNik7dmFyIHk9W107T2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihhKXt5W3RbYV1dPWF9KTt2YXIgZz0wLEU9e307cC5wcm90b3R5cGUuZGVjUmVmPVxuZnVuY3Rpb24oKXswPj0tLXRoaXMucmVmQ291bnQmJk0odGhpcyl9O2IucHJvZmlsZSYmKGEuZ2V0VG90YWxSZW5kZXJidWZmZXJTaXplPWZ1bmN0aW9uKCl7dmFyIGE9MDtPYmplY3Qua2V5cyhFKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2ErPUVbYl0uc3RhdHMuc2l6ZX0pO3JldHVybiBhfSk7cmV0dXJue2NyZWF0ZTpmdW5jdGlvbihjLGcpe2Z1bmN0aW9uIG4oYSxjKXt2YXIgZz0wLGw9MCxoPTMyODU0O1wib2JqZWN0XCI9PT10eXBlb2YgYSYmYT8oXCJzaGFwZVwiaW4gYT8obD1hLnNoYXBlLGc9bFswXXwwLGw9bFsxXXwwKTooXCJyYWRpdXNcImluIGEmJihnPWw9YS5yYWRpdXN8MCksXCJ3aWR0aFwiaW4gYSYmKGc9YS53aWR0aHwwKSxcImhlaWdodFwiaW4gYSYmKGw9YS5oZWlnaHR8MCkpLFwiZm9ybWF0XCJpbiBhJiYoaD10W2EuZm9ybWF0XSkpOlwibnVtYmVyXCI9PT10eXBlb2YgYT8oZz1hfDAsbD1cIm51bWJlclwiPT09dHlwZW9mIGM/Y3wwOmcpOmF8fChnPWw9MSk7aWYoZyE9PW0ud2lkdGh8fGwhPT1cbm0uaGVpZ2h0fHxoIT09bS5mb3JtYXQpcmV0dXJuIG4ud2lkdGg9bS53aWR0aD1nLG4uaGVpZ2h0PW0uaGVpZ2h0PWwsbS5mb3JtYXQ9aCxmLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbS5yZW5kZXJidWZmZXIpLGYucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxoLGcsbCksYi5wcm9maWxlJiYobS5zdGF0cy5zaXplPWtbbS5mb3JtYXRdKm0ud2lkdGgqbS5oZWlnaHQpLG4uZm9ybWF0PXlbbS5mb3JtYXRdLG59dmFyIG09bmV3IHAoZi5jcmVhdGVSZW5kZXJidWZmZXIoKSk7RVttLmlkXT1tO2EucmVuZGVyYnVmZmVyQ291bnQrKztuKGMsZyk7bi5yZXNpemU9ZnVuY3Rpb24oYSxjKXt2YXIgZz1hfDAsbD1jfDB8fGc7aWYoZz09PW0ud2lkdGgmJmw9PT1tLmhlaWdodClyZXR1cm4gbjtuLndpZHRoPW0ud2lkdGg9ZztuLmhlaWdodD1tLmhlaWdodD1sO2YuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxtLnJlbmRlcmJ1ZmZlcik7Zi5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLG0uZm9ybWF0LFxuZyxsKTtiLnByb2ZpbGUmJihtLnN0YXRzLnNpemU9a1ttLmZvcm1hdF0qbS53aWR0aCptLmhlaWdodCk7cmV0dXJuIG59O24uX3JlZ2xUeXBlPVwicmVuZGVyYnVmZmVyXCI7bi5fcmVuZGVyYnVmZmVyPW07Yi5wcm9maWxlJiYobi5zdGF0cz1tLnN0YXRzKTtuLmRlc3Ryb3k9ZnVuY3Rpb24oKXttLmRlY1JlZigpfTtyZXR1cm4gbn0sY2xlYXI6ZnVuY3Rpb24oKXtsKEUpLmZvckVhY2goTSl9LHJlc3RvcmU6ZnVuY3Rpb24oKXtsKEUpLmZvckVhY2goZnVuY3Rpb24oYSl7YS5yZW5kZXJidWZmZXI9Zi5jcmVhdGVSZW5kZXJidWZmZXIoKTtmLmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsYS5yZW5kZXJidWZmZXIpO2YucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxhLmZvcm1hdCxhLndpZHRoLGEuaGVpZ2h0KX0pO2YuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxudWxsKX19fX0se1wiLi91dGlsL3ZhbHVlc1wiOjMxfV0sMTU6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi91dGlsL3ZhbHVlc1wiKTtcbnAuZXhwb3J0cz1mdW5jdGlvbihmLHgscixjKXtmdW5jdGlvbiBhKGEsYyxiLGcpe3RoaXMubmFtZT1hO3RoaXMuaWQ9Yzt0aGlzLmxvY2F0aW9uPWI7dGhpcy5pbmZvPWd9ZnVuY3Rpb24gYihhLGMpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0uaWQ9PT1jLmlkKXthW2JdLmxvY2F0aW9uPWMubG9jYXRpb247cmV0dXJufWEucHVzaChjKX1mdW5jdGlvbiBwKGEsYyxiKXtiPTM1NjMyPT09YT95Omc7dmFyIGw9YltjXTtpZighbCl7dmFyIHI9eC5zdHIoYyksbD1mLmNyZWF0ZVNoYWRlcihhKTtmLnNoYWRlclNvdXJjZShsLHIpO2YuY29tcGlsZVNoYWRlcihsKTtiW2NdPWx9cmV0dXJuIGx9ZnVuY3Rpb24gTShhLGIpe3RoaXMuaWQ9dSsrO3RoaXMuZnJhZ0lkPWE7dGhpcy52ZXJ0SWQ9Yjt0aGlzLnByb2dyYW09bnVsbDt0aGlzLnVuaWZvcm1zPVtdO3RoaXMuYXR0cmlidXRlcz1bXTtjLnByb2ZpbGUmJih0aGlzLnN0YXRzPXt1bmlmb3Jtc0NvdW50OjAsYXR0cmlidXRlc0NvdW50OjB9KX1cbmZ1bmN0aW9uIHQoZyxtKXt2YXIgbCxyO2w9cCgzNTYzMixnLmZyYWdJZCk7cj1wKDM1NjMzLGcudmVydElkKTt2YXIgdD1nLnByb2dyYW09Zi5jcmVhdGVQcm9ncmFtKCk7Zi5hdHRhY2hTaGFkZXIodCxsKTtmLmF0dGFjaFNoYWRlcih0LHIpO2YubGlua1Byb2dyYW0odCk7dmFyIHk9Zi5nZXRQcm9ncmFtUGFyYW1ldGVyKHQsMzU3MTgpO2MucHJvZmlsZSYmKGcuc3RhdHMudW5pZm9ybXNDb3VudD15KTt2YXIgaD1nLnVuaWZvcm1zO2ZvcihsPTA7bDx5OysrbClpZihyPWYuZ2V0QWN0aXZlVW5pZm9ybSh0LGwpKWlmKDE8ci5zaXplKWZvcih2YXIgQz0wO0M8ci5zaXplOysrQyl7dmFyIEU9ci5uYW1lLnJlcGxhY2UoXCJbMF1cIixcIltcIitDK1wiXVwiKTtiKGgsbmV3IGEoRSx4LmlkKEUpLGYuZ2V0VW5pZm9ybUxvY2F0aW9uKHQsRSkscikpfWVsc2UgYihoLG5ldyBhKHIubmFtZSx4LmlkKHIubmFtZSksZi5nZXRVbmlmb3JtTG9jYXRpb24odCxyLm5hbWUpLHIpKTt5PWYuZ2V0UHJvZ3JhbVBhcmFtZXRlcih0LFxuMzU3MjEpO2MucHJvZmlsZSYmKGcuc3RhdHMuYXR0cmlidXRlc0NvdW50PXkpO2g9Zy5hdHRyaWJ1dGVzO2ZvcihsPTA7bDx5OysrbCkocj1mLmdldEFjdGl2ZUF0dHJpYih0LGwpKSYmYihoLG5ldyBhKHIubmFtZSx4LmlkKHIubmFtZSksZi5nZXRBdHRyaWJMb2NhdGlvbih0LHIubmFtZSkscikpfXZhciB5PXt9LGc9e30sRT17fSxDPVtdLHU9MDtjLnByb2ZpbGUmJihyLmdldE1heFVuaWZvcm1zQ291bnQ9ZnVuY3Rpb24oKXt2YXIgYT0wO0MuZm9yRWFjaChmdW5jdGlvbihiKXtiLnN0YXRzLnVuaWZvcm1zQ291bnQ+YSYmKGE9Yi5zdGF0cy51bmlmb3Jtc0NvdW50KX0pO3JldHVybiBhfSxyLmdldE1heEF0dHJpYnV0ZXNDb3VudD1mdW5jdGlvbigpe3ZhciBhPTA7Qy5mb3JFYWNoKGZ1bmN0aW9uKGIpe2Iuc3RhdHMuYXR0cmlidXRlc0NvdW50PmEmJihhPWIuc3RhdHMuYXR0cmlidXRlc0NvdW50KX0pO3JldHVybiBhfSk7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7dmFyIGE9Zi5kZWxldGVTaGFkZXIuYmluZChmKTtcbmwoeSkuZm9yRWFjaChhKTt5PXt9O2woZykuZm9yRWFjaChhKTtnPXt9O0MuZm9yRWFjaChmdW5jdGlvbihhKXtmLmRlbGV0ZVByb2dyYW0oYS5wcm9ncmFtKX0pO0MubGVuZ3RoPTA7RT17fTtyLnNoYWRlckNvdW50PTB9LHByb2dyYW06ZnVuY3Rpb24oYSxiLGMpe3Iuc2hhZGVyQ291bnQrKzt2YXIgZz1FW2JdO2d8fChnPUVbYl09e30pO3ZhciBmPWdbYV07Znx8KGY9bmV3IE0oYixhKSx0KGYsYyksZ1thXT1mLEMucHVzaChmKSk7cmV0dXJuIGZ9LHJlc3RvcmU6ZnVuY3Rpb24oKXt5PXt9O2c9e307Zm9yKHZhciBhPTA7YTxDLmxlbmd0aDsrK2EpdChDW2FdKX0sc2hhZGVyOnAsZnJhZzotMSx2ZXJ0Oi0xfX19LHtcIi4vdXRpbC92YWx1ZXNcIjozMX1dLDE2OltmdW5jdGlvbihmLHAsdSl7cC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJue2J1ZmZlckNvdW50OjAsZWxlbWVudHNDb3VudDowLGZyYW1lYnVmZmVyQ291bnQ6MCxzaGFkZXJDb3VudDowLHRleHR1cmVDb3VudDowLGN1YmVDb3VudDowLFxucmVuZGVyYnVmZmVyQ291bnQ6MCxtYXhUZXh0dXJlVW5pdHM6MH19fSx7fV0sMTc6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgZj17XCJcIjowfSxrPVtcIlwiXTtyZXR1cm57aWQ6ZnVuY3Rpb24oeCl7dmFyIHI9Zlt4XTtpZihyKXJldHVybiByO3I9Zlt4XT1rLmxlbmd0aDtrLnB1c2goeCk7cmV0dXJuIHJ9LHN0cjpmdW5jdGlvbihmKXtyZXR1cm4ga1tmXX19fX0se31dLDE4OltmdW5jdGlvbihmLHAsdSl7ZnVuY3Rpb24gbChhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKSYmKDA9PT1hLmxlbmd0aHx8XCJudW1iZXJcIj09PXR5cGVvZiBhWzBdKX1mdW5jdGlvbiBrKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpJiYwIT09YS5sZW5ndGgmJkUoYVswXSk/ITA6ITF9ZnVuY3Rpb24geChhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpfWZ1bmN0aW9uIHIoYSl7aWYoIWEpcmV0dXJuITE7dmFyIGI9eChhKTtyZXR1cm4gMDw9WS5pbmRleE9mKGIpP1xuITA6bChhKXx8ayhhKXx8dChhKX1mdW5jdGlvbiBjKGEsYil7MzYxOTM9PT1hLnR5cGU/KGEuZGF0YT1nKGIpLHkuZnJlZVR5cGUoYikpOmEuZGF0YT1ifWZ1bmN0aW9uIGEoYSxiLGMsZyxmLGspe2E9XCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBIW2FdP0hbYV06QlthXSpMW2JdO2smJihhKj02KTtpZihmKXtmb3IoZz0wOzE8PWM7KWcrPWEqYypjLGMvPTI7cmV0dXJuIGd9cmV0dXJuIGEqYypnfXZhciBiPWYoXCIuL3V0aWwvZXh0ZW5kXCIpLEY9ZihcIi4vdXRpbC92YWx1ZXNcIiksTT1mKFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCIpLHQ9ZihcIi4vdXRpbC9pcy1uZGFycmF5XCIpLHk9ZihcIi4vdXRpbC9wb29sXCIpLGc9ZihcIi4vdXRpbC90by1oYWxmLWZsb2F0XCIpLEU9ZihcIi4vdXRpbC9pcy1hcnJheS1saWtlXCIpLEM9ZihcIi4vdXRpbC9mbGF0dGVuXCIpO3U9ZihcIi4vY29uc3RhbnRzL2FycmF5dHlwZXMuanNvblwiKTt2YXIgTj1mKFwiLi9jb25zdGFudHMvYXJyYXl0eXBlcy5qc29uXCIpLG49Wzk5ODQsOTk4Nixcbjk5ODUsOTk4N10sbT1bMCw2NDA5LDY0MTAsNjQwNyw2NDA4XSxCPXt9O0JbNjQwOV09Qls2NDA2XT1CWzY0MDJdPTE7QlszNDA0MV09Qls2NDEwXT0yO0JbNjQwN109QlszNTkwNF09MztCWzY0MDhdPUJbMzU5MDZdPTQ7dmFyIFk9T2JqZWN0LmtleXModSkuY29uY2F0KFtcIltvYmplY3QgSFRNTENhbnZhc0VsZW1lbnRdXCIsXCJbb2JqZWN0IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRF1cIixcIltvYmplY3QgSFRNTEltYWdlRWxlbWVudF1cIixcIltvYmplY3QgSFRNTFZpZGVvRWxlbWVudF1cIl0pLEw9W107TFs1MTIxXT0xO0xbNTEyNl09NDtMWzM2MTkzXT0yO0xbNTEyM109MjtMWzUxMjVdPTQ7dmFyIEg9W107SFszMjg1NF09MjtIWzMyODU1XT0yO0hbMzYxOTRdPTI7SFszNDA0MV09NDtIWzMzNzc2XT0uNTtIWzMzNzc3XT0uNTtIWzMzNzc4XT0xO0hbMzM3NzldPTE7SFszNTk4Nl09LjU7SFszNTk4N109MTtIWzM0Nzk4XT0xO0hbMzU4NDBdPS41O0hbMzU4NDFdPS4yNTtIWzM1ODQyXT0uNTtcbkhbMzU4NDNdPS4yNTtIWzM2MTk2XT0uNTtwLmV4cG9ydHM9ZnVuY3Rpb24oaCxmLHAsdSxILEwsWil7ZnVuY3Rpb24gRCgpe3RoaXMuZm9ybWF0PXRoaXMuaW50ZXJuYWxmb3JtYXQ9NjQwODt0aGlzLnR5cGU9NTEyMTt0aGlzLmZsaXBZPXRoaXMucHJlbXVsdGlwbHlBbHBoYT10aGlzLmNvbXByZXNzZWQ9ITE7dGhpcy51bnBhY2tBbGlnbm1lbnQ9MTt0aGlzLmNoYW5uZWxzPXRoaXMuaGVpZ2h0PXRoaXMud2lkdGg9dGhpcy5jb2xvclNwYWNlPTB9ZnVuY3Rpb24gSyhhLGIpe2EuaW50ZXJuYWxmb3JtYXQ9Yi5pbnRlcm5hbGZvcm1hdDthLmZvcm1hdD1iLmZvcm1hdDthLnR5cGU9Yi50eXBlO2EuY29tcHJlc3NlZD1iLmNvbXByZXNzZWQ7YS5wcmVtdWx0aXBseUFscGhhPWIucHJlbXVsdGlwbHlBbHBoYTthLmZsaXBZPWIuZmxpcFk7YS51bnBhY2tBbGlnbm1lbnQ9Yi51bnBhY2tBbGlnbm1lbnQ7YS5jb2xvclNwYWNlPWIuY29sb3JTcGFjZTthLndpZHRoPWIud2lkdGg7YS5oZWlnaHQ9XG5iLmhlaWdodDthLmNoYW5uZWxzPWIuY2hhbm5lbHN9ZnVuY3Rpb24gWShhLGIpe2lmKFwib2JqZWN0XCI9PT10eXBlb2YgYiYmYil7XCJwcmVtdWx0aXBseUFscGhhXCJpbiBiJiYoYS5wcmVtdWx0aXBseUFscGhhPWIucHJlbXVsdGlwbHlBbHBoYSk7XCJmbGlwWVwiaW4gYiYmKGEuZmxpcFk9Yi5mbGlwWSk7XCJhbGlnbm1lbnRcImluIGImJihhLnVucGFja0FsaWdubWVudD1iLmFsaWdubWVudCk7XCJjb2xvclNwYWNlXCJpbiBiJiYoYS5jb2xvclNwYWNlPXBhW2IuY29sb3JTcGFjZV0pO1widHlwZVwiaW4gYiYmKGEudHlwZT1WW2IudHlwZV0pO3ZhciBjPWEud2lkdGgsZz1hLmhlaWdodCxoPWEuY2hhbm5lbHMsZj0hMTtcInNoYXBlXCJpbiBiPyhjPWIuc2hhcGVbMF0sZz1iLnNoYXBlWzFdLDM9PT1iLnNoYXBlLmxlbmd0aCYmKGg9Yi5zaGFwZVsyXSxmPSEwKSk6KFwicmFkaXVzXCJpbiBiJiYoYz1nPWIucmFkaXVzKSxcIndpZHRoXCJpbiBiJiYoYz1iLndpZHRoKSxcImhlaWdodFwiaW4gYiYmKGc9Yi5oZWlnaHQpLFxuXCJjaGFubmVsc1wiaW4gYiYmKGg9Yi5jaGFubmVscyxmPSEwKSk7YS53aWR0aD1jfDA7YS5oZWlnaHQ9Z3wwO2EuY2hhbm5lbHM9aHwwO2M9ITE7XCJmb3JtYXRcImluIGImJihjPWIuZm9ybWF0LGc9YS5pbnRlcm5hbGZvcm1hdD1YW2NdLGEuZm9ybWF0PVBhW2ddLGMgaW4gViYmIShcInR5cGVcImluIGIpJiYoYS50eXBlPVZbY10pLGMgaW4gVCYmKGEuY29tcHJlc3NlZD0hMCksYz0hMCk7IWYmJmM/YS5jaGFubmVscz1CW2EuZm9ybWF0XTpmJiYhYyYmYS5jaGFubmVscyE9PW1bYS5mb3JtYXRdJiYoYS5mb3JtYXQ9YS5pbnRlcm5hbGZvcm1hdD1tW2EuY2hhbm5lbHNdKX19ZnVuY3Rpb24gdmEoYSl7aC5waXhlbFN0b3JlaSgzNzQ0MCxhLmZsaXBZKTtoLnBpeGVsU3RvcmVpKDM3NDQxLGEucHJlbXVsdGlwbHlBbHBoYSk7aC5waXhlbFN0b3JlaSgzNzQ0MyxhLmNvbG9yU3BhY2UpO2gucGl4ZWxTdG9yZWkoMzMxNyxhLnVucGFja0FsaWdubWVudCl9ZnVuY3Rpb24gcSgpe0QuY2FsbCh0aGlzKTtcbnRoaXMueU9mZnNldD10aGlzLnhPZmZzZXQ9MDt0aGlzLmRhdGE9bnVsbDt0aGlzLm5lZWRzRnJlZT0hMTt0aGlzLmVsZW1lbnQ9bnVsbDt0aGlzLm5lZWRzQ29weT0hMX1mdW5jdGlvbiBTKGEsYil7dmFyIGg9bnVsbDtyKGIpP2g9YjpiJiYoWShhLGIpLFwieFwiaW4gYiYmKGEueE9mZnNldD1iLnh8MCksXCJ5XCJpbiBiJiYoYS55T2Zmc2V0PWIueXwwKSxyKGIuZGF0YSkmJihoPWIuZGF0YSkpO2lmKGIuY29weSl7dmFyIGY9SC52aWV3cG9ydFdpZHRoLG49SC52aWV3cG9ydEhlaWdodDthLndpZHRoPWEud2lkdGh8fGYtYS54T2Zmc2V0O2EuaGVpZ2h0PWEuaGVpZ2h0fHxuLWEueU9mZnNldDthLm5lZWRzQ29weT0hMH1lbHNlIGlmKCFoKWEud2lkdGg9YS53aWR0aHx8MSxhLmhlaWdodD1hLmhlaWdodHx8MSxhLmNoYW5uZWxzPWEuY2hhbm5lbHN8fDQ7ZWxzZSBpZihNKGgpKWEuY2hhbm5lbHM9YS5jaGFubmVsc3x8NCxhLmRhdGE9aCxcInR5cGVcImluIGJ8fDUxMjEhPT1hLnR5cGV8fChhLnR5cGU9XG5OW09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChoKV18MCk7ZWxzZSBpZihsKGgpKXthLmNoYW5uZWxzPWEuY2hhbm5lbHN8fDQ7Zj1oO249Zi5sZW5ndGg7c3dpdGNoKGEudHlwZSl7Y2FzZSA1MTIxOmNhc2UgNTEyMzpjYXNlIDUxMjU6Y2FzZSA1MTI2Om49eS5hbGxvY1R5cGUoYS50eXBlLG4pO24uc2V0KGYpO2EuZGF0YT1uO2JyZWFrO2Nhc2UgMzYxOTM6YS5kYXRhPWcoZil9YS5hbGlnbm1lbnQ9MTthLm5lZWRzRnJlZT0hMH1lbHNlIGlmKHQoaCkpe2Y9aC5kYXRhO0FycmF5LmlzQXJyYXkoZil8fDUxMjEhPT1hLnR5cGV8fChhLnR5cGU9TltPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZildfDApO3ZhciBuPWguc2hhcGUscT1oLnN0cmlkZSxwLEYsZCx2OzM9PT1uLmxlbmd0aD8oZD1uWzJdLHY9cVsyXSk6dj1kPTE7cD1uWzBdO0Y9blsxXTtuPXFbMF07cT1xWzFdO2EuYWxpZ25tZW50PTE7YS53aWR0aD1wO2EuaGVpZ2h0PUY7YS5jaGFubmVscz1kO2EuZm9ybWF0PVxuYS5pbnRlcm5hbGZvcm1hdD1tW2RdO2EubmVlZHNGcmVlPSEwO3A9djtoPWgub2Zmc2V0O2Q9YS53aWR0aDt2PWEuaGVpZ2h0O0Y9YS5jaGFubmVscztmb3IodmFyIHU9eS5hbGxvY1R5cGUoMzYxOTM9PT1hLnR5cGU/NTEyNjphLnR5cGUsZCp2KkYpLEI9MCxBPTA7QTx2OysrQSlmb3IodmFyIEQ9MDtEPGQ7KytEKWZvcih2YXIgdWE9MDt1YTxGOysrdWEpdVtCKytdPWZbbipEK3EqQStwKnVhK2hdO2MoYSx1KX1lbHNlIGlmKFwiW29iamVjdCBIVE1MQ2FudmFzRWxlbWVudF1cIj09PXgoaCl8fFwiW29iamVjdCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRdXCI9PT14KGgpKVwiW29iamVjdCBIVE1MQ2FudmFzRWxlbWVudF1cIj09PXgoaCk/YS5lbGVtZW50PWg6YS5lbGVtZW50PWguY2FudmFzLGEud2lkdGg9YS5lbGVtZW50LndpZHRoLGEuaGVpZ2h0PWEuZWxlbWVudC5oZWlnaHQsYS5jaGFubmVscz00O2Vsc2UgaWYoXCJbb2JqZWN0IEhUTUxJbWFnZUVsZW1lbnRdXCI9PT14KGgpKWEuZWxlbWVudD1cbmgsYS53aWR0aD1oLm5hdHVyYWxXaWR0aCxhLmhlaWdodD1oLm5hdHVyYWxIZWlnaHQsYS5jaGFubmVscz00O2Vsc2UgaWYoXCJbb2JqZWN0IEhUTUxWaWRlb0VsZW1lbnRdXCI9PT14KGgpKWEuZWxlbWVudD1oLGEud2lkdGg9aC52aWRlb1dpZHRoLGEuaGVpZ2h0PWgudmlkZW9IZWlnaHQsYS5jaGFubmVscz00O2Vsc2UgaWYoayhoKSl7Zj1hLndpZHRofHxoWzBdLmxlbmd0aDtuPWEuaGVpZ2h0fHxoLmxlbmd0aDtxPWEuY2hhbm5lbHM7cT1FKGhbMF1bMF0pP3F8fGhbMF1bMF0ubGVuZ3RoOnF8fDE7cD1DLnNoYXBlKGgpO2Q9MTtmb3Iodj0wO3Y8cC5sZW5ndGg7Kyt2KWQqPXBbdl07ZD15LmFsbG9jVHlwZSgzNjE5Mz09PWEudHlwZT81MTI2OmEudHlwZSxkKTtDLmZsYXR0ZW4oaCxwLFwiXCIsZCk7YyhhLGQpO2EuYWxpZ25tZW50PTE7YS53aWR0aD1mO2EuaGVpZ2h0PW47YS5jaGFubmVscz1xO2EuZm9ybWF0PWEuaW50ZXJuYWxmb3JtYXQ9bVtxXTthLm5lZWRzRnJlZT0hMH19ZnVuY3Rpb24gbWEoYSxcbmIsYyxnLGYpe3ZhciBrPWEuZWxlbWVudCxsPWEuZGF0YSxtPWEuaW50ZXJuYWxmb3JtYXQsZD1hLmZvcm1hdCxyPWEudHlwZSxuPWEud2lkdGgscT1hLmhlaWdodDt2YShhKTtrP2gudGV4U3ViSW1hZ2UyRChiLGYsYyxnLGQscixrKTphLmNvbXByZXNzZWQ/aC5jb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChiLGYsYyxnLG0sbixxLGwpOmEubmVlZHNDb3B5Pyh1KCksaC5jb3B5VGV4U3ViSW1hZ2UyRChiLGYsYyxnLGEueE9mZnNldCxhLnlPZmZzZXQsbixxKSk6aC50ZXhTdWJJbWFnZTJEKGIsZixjLGcsbixxLGQscixsKX1mdW5jdGlvbiBnYSgpe3JldHVybiBOYS5wb3AoKXx8bmV3IHF9ZnVuY3Rpb24gVyhhKXthLm5lZWRzRnJlZSYmeS5mcmVlVHlwZShhLmRhdGEpO3EuY2FsbChhKTtOYS5wdXNoKGEpfWZ1bmN0aW9uIFIoKXtELmNhbGwodGhpcyk7dGhpcy5nZW5NaXBtYXBzPSExO3RoaXMubWlwbWFwSGludD00MzUyO3RoaXMubWlwbWFzaz0wO3RoaXMuaW1hZ2VzPUFycmF5KDE2KX1cbmZ1bmN0aW9uIEcoYSxiLGMpe3ZhciBnPWEuaW1hZ2VzWzBdPWdhKCk7YS5taXBtYXNrPTE7Zy53aWR0aD1hLndpZHRoPWI7Zy5oZWlnaHQ9YS5oZWlnaHQ9YztnLmNoYW5uZWxzPWEuY2hhbm5lbHM9NH1mdW5jdGlvbiBiYShhLGIpe3ZhciBjPW51bGw7aWYocihiKSljPWEuaW1hZ2VzWzBdPWdhKCksSyhjLGEpLFMoYyxiKSxhLm1pcG1hc2s9MTtlbHNlIGlmKFkoYSxiKSxBcnJheS5pc0FycmF5KGIubWlwbWFwKSlmb3IodmFyIGc9Yi5taXBtYXAsaD0wO2g8Zy5sZW5ndGg7KytoKWM9YS5pbWFnZXNbaF09Z2EoKSxLKGMsYSksYy53aWR0aD4+PWgsYy5oZWlnaHQ+Pj1oLFMoYyxnW2hdKSxhLm1pcG1hc2t8PTE8PGg7ZWxzZSBjPWEuaW1hZ2VzWzBdPWdhKCksSyhjLGEpLFMoYyxiKSxhLm1pcG1hc2s9MTtLKGEsYS5pbWFnZXNbMF0pfWZ1bmN0aW9uIG5hKGEsYil7Zm9yKHZhciBjPWEuaW1hZ2VzLGc9MDtnPGMubGVuZ3RoJiZjW2ddOysrZyl7dmFyIGY9Y1tnXSxrPWIsbD1nLG09Zi5lbGVtZW50LFxuZD1mLmRhdGEscj1mLmludGVybmFsZm9ybWF0LG49Zi5mb3JtYXQscT1mLnR5cGUsdD1mLndpZHRoLHk9Zi5oZWlnaHQ7dmEoZik7bT9oLnRleEltYWdlMkQoayxsLG4sbixxLG0pOmYuY29tcHJlc3NlZD9oLmNvbXByZXNzZWRUZXhJbWFnZTJEKGssbCxyLHQseSwwLGQpOmYubmVlZHNDb3B5Pyh1KCksaC5jb3B5VGV4SW1hZ2UyRChrLGwsbixmLnhPZmZzZXQsZi55T2Zmc2V0LHQseSwwKSk6aC50ZXhJbWFnZTJEKGssbCxuLHQseSwwLG4scSxkKX19ZnVuY3Rpb24geWEoKXt2YXIgYT1KYS5wb3AoKXx8bmV3IFI7RC5jYWxsKGEpO2Zvcih2YXIgYj1hLm1pcG1hc2s9MDsxNj5iOysrYilhLmltYWdlc1tiXT1udWxsO3JldHVybiBhfWZ1bmN0aW9uIFUoYSl7Zm9yKHZhciBiPWEuaW1hZ2VzLGM9MDtjPGIubGVuZ3RoOysrYyliW2NdJiZXKGJbY10pLGJbY109bnVsbDtKYS5wdXNoKGEpfWZ1bmN0aW9uIGlhKCl7dGhpcy5tYWdGaWx0ZXI9dGhpcy5taW5GaWx0ZXI9OTcyODt0aGlzLndyYXBUPVxudGhpcy53cmFwUz0zMzA3MTt0aGlzLmFuaXNvdHJvcGljPTE7dGhpcy5nZW5NaXBtYXBzPSExO3RoaXMubWlwbWFwSGludD00MzUyfWZ1bmN0aW9uIGthKGEsYil7XCJtaW5cImluIGImJihhLm1pbkZpbHRlcj1RW2IubWluXSwwPD1uLmluZGV4T2YoYS5taW5GaWx0ZXIpJiYoYS5nZW5NaXBtYXBzPSEwKSk7XCJtYWdcImluIGImJihhLm1hZ0ZpbHRlcj1oYVtiLm1hZ10pO3ZhciBjPWEud3JhcFMsZz1hLndyYXBUO2lmKFwid3JhcFwiaW4gYil7dmFyIGg9Yi53cmFwO1wic3RyaW5nXCI9PT10eXBlb2YgaD9jPWc9T1toXTpBcnJheS5pc0FycmF5KGgpJiYoYz1PW2hbMF1dLGc9T1toWzFdXSl9ZWxzZVwid3JhcFNcImluIGImJihjPU9bYi53cmFwU10pLFwid3JhcFRcImluIGImJihnPU9bYi53cmFwVF0pO2Eud3JhcFM9YzthLndyYXBUPWc7XCJhbmlzb3Ryb3BpY1wiaW4gYiYmKGEuYW5pc290cm9waWM9Yi5hbmlzb3Ryb3BpYyk7aWYoXCJtaXBtYXBcImluIGIpe2M9ITE7c3dpdGNoKHR5cGVvZiBiLm1pcG1hcCl7Y2FzZSBcInN0cmluZ1wiOmEubWlwbWFwSGludD1cbmVhW2IubWlwbWFwXTtjPWEuZ2VuTWlwbWFwcz0hMDticmVhaztjYXNlIFwiYm9vbGVhblwiOmM9YS5nZW5NaXBtYXBzPWIubWlwbWFwO2JyZWFrO2Nhc2UgXCJvYmplY3RcIjphLmdlbk1pcG1hcHM9ITEsYz0hMH0hY3x8XCJtaW5cImluIGJ8fChhLm1pbkZpbHRlcj05OTg0KX19ZnVuY3Rpb24gcmEoYSxiKXtoLnRleFBhcmFtZXRlcmkoYiwxMDI0MSxhLm1pbkZpbHRlcik7aC50ZXhQYXJhbWV0ZXJpKGIsMTAyNDAsYS5tYWdGaWx0ZXIpO2gudGV4UGFyYW1ldGVyaShiLDEwMjQyLGEud3JhcFMpO2gudGV4UGFyYW1ldGVyaShiLDEwMjQzLGEud3JhcFQpO2YuZXh0X3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljJiZoLnRleFBhcmFtZXRlcmkoYiwzNDA0NixhLmFuaXNvdHJvcGljKTthLmdlbk1pcG1hcHMmJihoLmhpbnQoMzMxNzAsYS5taXBtYXBIaW50KSxoLmdlbmVyYXRlTWlwbWFwKGIpKX1mdW5jdGlvbiBzYShhKXtELmNhbGwodGhpcyk7dGhpcy5taXBtYXNrPTA7dGhpcy5pbnRlcm5hbGZvcm1hdD1cbjY0MDg7dGhpcy5pZD1CYSsrO3RoaXMucmVmQ291bnQ9MTt0aGlzLnRhcmdldD1hO3RoaXMudGV4dHVyZT1oLmNyZWF0ZVRleHR1cmUoKTt0aGlzLnVuaXQ9LTE7dGhpcy5iaW5kQ291bnQ9MDt0aGlzLnRleEluZm89bmV3IGlhO1oucHJvZmlsZSYmKHRoaXMuc3RhdHM9e3NpemU6MH0pfWZ1bmN0aW9uIGRhKGEpe2guYWN0aXZlVGV4dHVyZSgzMzk4NCk7aC5iaW5kVGV4dHVyZShhLnRhcmdldCxhLnRleHR1cmUpfWZ1bmN0aW9uIGphKCl7dmFyIGE9b2FbMF07YT9oLmJpbmRUZXh0dXJlKGEudGFyZ2V0LGEudGV4dHVyZSk6aC5iaW5kVGV4dHVyZSgzNTUzLG51bGwpfWZ1bmN0aW9uIGxhKGEpe3ZhciBiPWEudGV4dHVyZSxjPWEudW5pdCxnPWEudGFyZ2V0OzA8PWMmJihoLmFjdGl2ZVRleHR1cmUoMzM5ODQrYyksaC5iaW5kVGV4dHVyZShnLG51bGwpLG9hW2NdPW51bGwpO2guZGVsZXRlVGV4dHVyZShiKTthLnRleHR1cmU9bnVsbDthLnBhcmFtcz1udWxsO2EucGl4ZWxzPW51bGw7YS5yZWZDb3VudD1cbjA7ZGVsZXRlIGNhW2EuaWRdO0wudGV4dHVyZUNvdW50LS19dmFyIGVhPXtcImRvbid0IGNhcmVcIjo0MzUyLFwiZG9udCBjYXJlXCI6NDM1MixuaWNlOjQzNTQsZmFzdDo0MzUzfSxPPXtyZXBlYXQ6MTA0OTcsY2xhbXA6MzMwNzEsbWlycm9yOjMzNjQ4fSxoYT17bmVhcmVzdDo5NzI4LGxpbmVhcjo5NzI5fSxRPWIoe21pcG1hcDo5OTg3LFwibmVhcmVzdCBtaXBtYXAgbmVhcmVzdFwiOjk5ODQsXCJsaW5lYXIgbWlwbWFwIG5lYXJlc3RcIjo5OTg1LFwibmVhcmVzdCBtaXBtYXAgbGluZWFyXCI6OTk4NixcImxpbmVhciBtaXBtYXAgbGluZWFyXCI6OTk4N30saGEpLHBhPXtub25lOjAsYnJvd3NlcjozNzQ0NH0sVj17dWludDg6NTEyMSxyZ2JhNDozMjgxOSxyZ2I1NjU6MzM2MzUsXCJyZ2I1IGExXCI6MzI4MjB9LFg9e2FscGhhOjY0MDYsbHVtaW5hbmNlOjY0MDksXCJsdW1pbmFuY2UgYWxwaGFcIjo2NDEwLHJnYjo2NDA3LHJnYmE6NjQwOCxyZ2JhNDozMjg1NCxcInJnYjUgYTFcIjozMjg1NSxyZ2I1NjU6MzYxOTR9LFxuVD17fTtmLmV4dF9zcmdiJiYoWC5zcmdiPTM1OTA0LFguc3JnYmE9MzU5MDYpO2Yub2VzX3RleHR1cmVfZmxvYXQmJihWLmZsb2F0MzI9VltcImZsb2F0XCJdPTUxMjYpO2Yub2VzX3RleHR1cmVfaGFsZl9mbG9hdCYmKFYuZmxvYXQxNj1WW1wiaGFsZiBmbG9hdFwiXT0zNjE5Myk7Zi53ZWJnbF9kZXB0aF90ZXh0dXJlJiYoYihYLHtkZXB0aDo2NDAyLFwiZGVwdGggc3RlbmNpbFwiOjM0MDQxfSksYihWLHt1aW50MTY6NTEyMyx1aW50MzI6NTEyNSxcImRlcHRoIHN0ZW5jaWxcIjozNDA0Mn0pKTtmLndlYmdsX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjJiZiKFQse1wicmdiIHMzdGMgZHh0MVwiOjMzNzc2LFwicmdiYSBzM3RjIGR4dDFcIjozMzc3NyxcInJnYmEgczN0YyBkeHQzXCI6MzM3NzgsXCJyZ2JhIHMzdGMgZHh0NVwiOjMzNzc5fSk7Zi53ZWJnbF9jb21wcmVzc2VkX3RleHR1cmVfYXRjJiZiKFQse1wicmdiIGF0Y1wiOjM1OTg2LFwicmdiYSBhdGMgZXhwbGljaXQgYWxwaGFcIjozNTk4NyxcInJnYmEgYXRjIGludGVycG9sYXRlZCBhbHBoYVwiOjM0Nzk4fSk7XG5mLndlYmdsX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyYmYihULHtcInJnYiBwdnJ0YyA0YnBwdjFcIjozNTg0MCxcInJnYiBwdnJ0YyAyYnBwdjFcIjozNTg0MSxcInJnYmEgcHZydGMgNGJwcHYxXCI6MzU4NDIsXCJyZ2JhIHB2cnRjIDJicHB2MVwiOjM1ODQzfSk7Zi53ZWJnbF9jb21wcmVzc2VkX3RleHR1cmVfZXRjMSYmKFRbXCJyZ2IgZXRjMVwiXT0zNjE5Nik7dmFyIHVhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGguZ2V0UGFyYW1ldGVyKDM0NDY3KSk7T2JqZWN0LmtleXMoVCkuZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgYj1UW2FdOzA8PXVhLmluZGV4T2YoYikmJihYW2FdPWIpfSk7dmFyIEVhPU9iamVjdC5rZXlzKFgpO3AudGV4dHVyZUZvcm1hdHM9RWE7dmFyIEZhPVtdO09iamVjdC5rZXlzKFgpLmZvckVhY2goZnVuY3Rpb24oYSl7RmFbWFthXV09YX0pO3ZhciBIYT1bXTtPYmplY3Qua2V5cyhWKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe0hhW1ZbYV1dPWF9KTt2YXIgSWE9W107T2JqZWN0LmtleXMoaGEpLmZvckVhY2goZnVuY3Rpb24oYSl7SWFbaGFbYV1dPVxuYX0pO3ZhciBDYT1bXTtPYmplY3Qua2V5cyhRKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe0NhW1FbYV1dPWF9KTt2YXIgRGE9W107T2JqZWN0LmtleXMoTykuZm9yRWFjaChmdW5jdGlvbihhKXtEYVtPW2FdXT1hfSk7dmFyIFBhPUVhLnJlZHVjZShmdW5jdGlvbihhLGIpe3ZhciBjPVhbYl07NjQwOT09PWN8fDY0MDY9PT1jfHw2NDA5PT09Y3x8NjQxMD09PWN8fDY0MDI9PT1jfHwzNDA0MT09PWM/YVtjXT1jOjMyODU1PT09Y3x8MDw9Yi5pbmRleE9mKFwicmdiYVwiKT9hW2NdPTY0MDg6YVtjXT02NDA3O3JldHVybiBhfSx7fSksTmE9W10sSmE9W10sQmE9MCxjYT17fSx0YT1wLm1heFRleHR1cmVVbml0cyxvYT1BcnJheSh0YSkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KTtiKHNhLnByb3RvdHlwZSx7YmluZDpmdW5jdGlvbigpe3RoaXMuYmluZENvdW50Kz0xO3ZhciBhPXRoaXMudW5pdDtpZigwPmEpe2Zvcih2YXIgYj0wO2I8dGE7KytiKXt2YXIgYz1vYVtiXTtpZihjKXtpZigwPGMuYmluZENvdW50KWNvbnRpbnVlO1xuYy51bml0PS0xfW9hW2JdPXRoaXM7YT1iO2JyZWFrfVoucHJvZmlsZSYmTC5tYXhUZXh0dXJlVW5pdHM8YSsxJiYoTC5tYXhUZXh0dXJlVW5pdHM9YSsxKTt0aGlzLnVuaXQ9YTtoLmFjdGl2ZVRleHR1cmUoMzM5ODQrYSk7aC5iaW5kVGV4dHVyZSh0aGlzLnRhcmdldCx0aGlzLnRleHR1cmUpfXJldHVybiBhfSx1bmJpbmQ6ZnVuY3Rpb24oKXstLXRoaXMuYmluZENvdW50fSxkZWNSZWY6ZnVuY3Rpb24oKXswPj0tLXRoaXMucmVmQ291bnQmJmxhKHRoaXMpfX0pO1oucHJvZmlsZSYmKEwuZ2V0VG90YWxUZXh0dXJlU2l6ZT1mdW5jdGlvbigpe3ZhciBhPTA7T2JqZWN0LmtleXMoY2EpLmZvckVhY2goZnVuY3Rpb24oYil7YSs9Y2FbYl0uc3RhdHMuc2l6ZX0pO3JldHVybiBhfSk7cmV0dXJue2NyZWF0ZTJEOmZ1bmN0aW9uKGIsYyl7ZnVuY3Rpb24gZyhiLGMpe3ZhciBlPWYudGV4SW5mbztpYS5jYWxsKGUpO3ZhciBoPXlhKCk7XCJudW1iZXJcIj09PXR5cGVvZiBiP1wibnVtYmVyXCI9PT10eXBlb2YgYz9cbkcoaCxifDAsY3wwKTpHKGgsYnwwLGJ8MCk6Yj8oa2EoZSxiKSxiYShoLGIpKTpHKGgsMSwxKTtlLmdlbk1pcG1hcHMmJihoLm1pcG1hc2s9KGgud2lkdGg8PDEpLTEpO2YubWlwbWFzaz1oLm1pcG1hc2s7SyhmLGgpO2YuaW50ZXJuYWxmb3JtYXQ9aC5pbnRlcm5hbGZvcm1hdDtnLndpZHRoPWgud2lkdGg7Zy5oZWlnaHQ9aC5oZWlnaHQ7ZGEoZik7bmEoaCwzNTUzKTtyYShlLDM1NTMpO2phKCk7VShoKTtaLnByb2ZpbGUmJihmLnN0YXRzLnNpemU9YShmLmludGVybmFsZm9ybWF0LGYudHlwZSxoLndpZHRoLGguaGVpZ2h0LGUuZ2VuTWlwbWFwcywhMSkpO2cuZm9ybWF0PUZhW2YuaW50ZXJuYWxmb3JtYXRdO2cudHlwZT1IYVtmLnR5cGVdO2cubWFnPUlhW2UubWFnRmlsdGVyXTtnLm1pbj1DYVtlLm1pbkZpbHRlcl07Zy53cmFwUz1EYVtlLndyYXBTXTtnLndyYXBUPURhW2Uud3JhcFRdO3JldHVybiBnfXZhciBmPW5ldyBzYSgzNTUzKTtjYVtmLmlkXT1mO0wudGV4dHVyZUNvdW50Kys7XG5nKGIsYyk7Zy5zdWJpbWFnZT1mdW5jdGlvbihhLGIsYyxlKXtifD0wO2N8PTA7ZXw9MDt2YXIgZD1nYSgpO0soZCxmKTtkLndpZHRoPTA7ZC5oZWlnaHQ9MDtTKGQsYSk7ZC53aWR0aD1kLndpZHRofHwoZi53aWR0aD4+ZSktYjtkLmhlaWdodD1kLmhlaWdodHx8KGYuaGVpZ2h0Pj5lKS1jO2RhKGYpO21hKGQsMzU1MyxiLGMsZSk7amEoKTtXKGQpO3JldHVybiBnfTtnLnJlc2l6ZT1mdW5jdGlvbihiLGMpe3ZhciBlPWJ8MCxrPWN8MHx8ZTtpZihlPT09Zi53aWR0aCYmaz09PWYuaGVpZ2h0KXJldHVybiBnO2cud2lkdGg9Zi53aWR0aD1lO2cuaGVpZ2h0PWYuaGVpZ2h0PWs7ZGEoZik7Zm9yKHZhciBkPTA7Zi5taXBtYXNrPj5kOysrZCloLnRleEltYWdlMkQoMzU1MyxkLGYuZm9ybWF0LGU+PmQsaz4+ZCwwLGYuZm9ybWF0LGYudHlwZSxudWxsKTtqYSgpO1oucHJvZmlsZSYmKGYuc3RhdHMuc2l6ZT1hKGYuaW50ZXJuYWxmb3JtYXQsZi50eXBlLGUsaywhMSwhMSkpO3JldHVybiBnfTtcbmcuX3JlZ2xUeXBlPVwidGV4dHVyZTJkXCI7Zy5fdGV4dHVyZT1mO1oucHJvZmlsZSYmKGcuc3RhdHM9Zi5zdGF0cyk7Zy5kZXN0cm95PWZ1bmN0aW9uKCl7Zi5kZWNSZWYoKX07cmV0dXJuIGd9LGNyZWF0ZUN1YmU6ZnVuY3Rpb24oYixjLGcsZixrLGwpe2Z1bmN0aW9uIG0oYixjLGUsZyxoLGYpe3ZhciBrLGw9bi50ZXhJbmZvO2lhLmNhbGwobCk7Zm9yKGs9MDs2Pms7KytrKWRba109eWEoKTtpZihcIm51bWJlclwiPT09dHlwZW9mIGJ8fCFiKWZvcihiPWJ8MHx8MSxrPTA7Nj5rOysraylHKGRba10sYixiKTtlbHNlIGlmKFwib2JqZWN0XCI9PT10eXBlb2YgYilpZihjKWJhKGRbMF0sYiksYmEoZFsxXSxjKSxiYShkWzJdLGUpLGJhKGRbM10sZyksYmEoZFs0XSxoKSxiYShkWzVdLGYpO2Vsc2UgaWYoa2EobCxiKSxZKG4sYiksXCJmYWNlc1wiaW4gYilmb3IoYj1iLmZhY2VzLGs9MDs2Pms7KytrKUsoZFtrXSxuKSxiYShkW2tdLGJba10pO2Vsc2UgZm9yKGs9MDs2Pms7KytrKWJhKGRba10sYik7XG5LKG4sZFswXSk7bi5taXBtYXNrPWwuZ2VuTWlwbWFwcz8oZFswXS53aWR0aDw8MSktMTpkWzBdLm1pcG1hc2s7bi5pbnRlcm5hbGZvcm1hdD1kWzBdLmludGVybmFsZm9ybWF0O20ud2lkdGg9ZFswXS53aWR0aDttLmhlaWdodD1kWzBdLmhlaWdodDtkYShuKTtmb3Ioaz0wOzY+azsrK2spbmEoZFtrXSwzNDA2OStrKTtyYShsLDM0MDY3KTtqYSgpO1oucHJvZmlsZSYmKG4uc3RhdHMuc2l6ZT1hKG4uaW50ZXJuYWxmb3JtYXQsbi50eXBlLG0ud2lkdGgsbS5oZWlnaHQsbC5nZW5NaXBtYXBzLCEwKSk7bS5mb3JtYXQ9RmFbbi5pbnRlcm5hbGZvcm1hdF07bS50eXBlPUhhW24udHlwZV07bS5tYWc9SWFbbC5tYWdGaWx0ZXJdO20ubWluPUNhW2wubWluRmlsdGVyXTttLndyYXBTPURhW2wud3JhcFNdO20ud3JhcFQ9RGFbbC53cmFwVF07Zm9yKGs9MDs2Pms7KytrKVUoZFtrXSk7cmV0dXJuIG19dmFyIG49bmV3IHNhKDM0MDY3KTtjYVtuLmlkXT1uO0wuY3ViZUNvdW50Kys7dmFyIGQ9QXJyYXkoNik7XG5tKGIsYyxnLGYsayxsKTttLnN1YmltYWdlPWZ1bmN0aW9uKGEsYixjLGQsZSl7Y3w9MDtkfD0wO2V8PTA7dmFyIGc9Z2EoKTtLKGcsbik7Zy53aWR0aD0wO2cuaGVpZ2h0PTA7UyhnLGIpO2cud2lkdGg9Zy53aWR0aHx8KG4ud2lkdGg+PmUpLWM7Zy5oZWlnaHQ9Zy5oZWlnaHR8fChuLmhlaWdodD4+ZSktZDtkYShuKTttYShnLDM0MDY5K2EsYyxkLGUpO2phKCk7VyhnKTtyZXR1cm4gbX07bS5yZXNpemU9ZnVuY3Rpb24oYil7Ynw9MDtpZihiIT09bi53aWR0aCl7bS53aWR0aD1uLndpZHRoPWI7bS5oZWlnaHQ9bi5oZWlnaHQ9YjtkYShuKTtmb3IodmFyIGM9MDs2PmM7KytjKWZvcih2YXIgZD0wO24ubWlwbWFzaz4+ZDsrK2QpaC50ZXhJbWFnZTJEKDM0MDY5K2MsZCxuLmZvcm1hdCxiPj5kLGI+PmQsMCxuLmZvcm1hdCxuLnR5cGUsbnVsbCk7amEoKTtaLnByb2ZpbGUmJihuLnN0YXRzLnNpemU9YShuLmludGVybmFsZm9ybWF0LG4udHlwZSxtLndpZHRoLG0uaGVpZ2h0LCExLCEwKSk7XG5yZXR1cm4gbX19O20uX3JlZ2xUeXBlPVwidGV4dHVyZUN1YmVcIjttLl90ZXh0dXJlPW47Wi5wcm9maWxlJiYobS5zdGF0cz1uLnN0YXRzKTttLmRlc3Ryb3k9ZnVuY3Rpb24oKXtuLmRlY1JlZigpfTtyZXR1cm4gbX0sY2xlYXI6ZnVuY3Rpb24oKXtmb3IodmFyIGE9MDthPHRhOysrYSloLmFjdGl2ZVRleHR1cmUoMzM5ODQrYSksaC5iaW5kVGV4dHVyZSgzNTUzLG51bGwpLG9hW2FdPW51bGw7RihjYSkuZm9yRWFjaChsYSk7TC5jdWJlQ291bnQ9MDtMLnRleHR1cmVDb3VudD0wfSxnZXRUZXh0dXJlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsfSxyZXN0b3JlOmZ1bmN0aW9uKCl7RihjYSkuZm9yRWFjaChmdW5jdGlvbihhKXthLnRleHR1cmU9aC5jcmVhdGVUZXh0dXJlKCk7aC5iaW5kVGV4dHVyZShhLnRhcmdldCxhLnRleHR1cmUpO2Zvcih2YXIgYj0wOzMyPmI7KytiKWlmKDAhPT0oYS5taXBtYXNrJjE8PGIpKWlmKDM1NTM9PT1hLnRhcmdldCloLnRleEltYWdlMkQoMzU1MyxiLGEuaW50ZXJuYWxmb3JtYXQsXG5hLndpZHRoPj5iLGEuaGVpZ2h0Pj5iLDAsYS5pbnRlcm5hbGZvcm1hdCxhLnR5cGUsbnVsbCk7ZWxzZSBmb3IodmFyIGM9MDs2PmM7KytjKWgudGV4SW1hZ2UyRCgzNDA2OStjLGIsYS5pbnRlcm5hbGZvcm1hdCxhLndpZHRoPj5iLGEuaGVpZ2h0Pj5iLDAsYS5pbnRlcm5hbGZvcm1hdCxhLnR5cGUsbnVsbCk7cmEoYS50ZXhJbmZvLGEudGFyZ2V0KX0pfX19fSx7XCIuL2NvbnN0YW50cy9hcnJheXR5cGVzLmpzb25cIjozLFwiLi91dGlsL2V4dGVuZFwiOjIyLFwiLi91dGlsL2ZsYXR0ZW5cIjoyMyxcIi4vdXRpbC9pcy1hcnJheS1saWtlXCI6MjQsXCIuL3V0aWwvaXMtbmRhcnJheVwiOjI1LFwiLi91dGlsL2lzLXR5cGVkLWFycmF5XCI6MjYsXCIuL3V0aWwvcG9vbFwiOjI4LFwiLi91dGlsL3RvLWhhbGYtZmxvYXRcIjozMCxcIi4vdXRpbC92YWx1ZXNcIjozMX1dLDE5OltmdW5jdGlvbihmLHAsdSl7cC5leHBvcnRzPWZ1bmN0aW9uKGYsayl7ZnVuY3Rpb24gcCgpe3RoaXMuZW5kUXVlcnlJbmRleD10aGlzLnN0YXJ0UXVlcnlJbmRleD1cbi0xO3RoaXMuc3VtPTA7dGhpcy5zdGF0cz1udWxsfWZ1bmN0aW9uIHIoYSxiLGMpe3ZhciBmPUYucG9wKCl8fG5ldyBwO2Yuc3RhcnRRdWVyeUluZGV4PWE7Zi5lbmRRdWVyeUluZGV4PWI7Zi5zdW09MDtmLnN0YXRzPWM7dS5wdXNoKGYpfXZhciBjPWsuZXh0X2Rpc2pvaW50X3RpbWVyX3F1ZXJ5O2lmKCFjKXJldHVybiBudWxsO3ZhciBhPVtdLGI9W10sRj1bXSx1PVtdLHQ9W10seT1bXTtyZXR1cm57YmVnaW5RdWVyeTpmdW5jdGlvbihnKXt2YXIgZj1hLnBvcCgpfHxjLmNyZWF0ZVF1ZXJ5RVhUKCk7Yy5iZWdpblF1ZXJ5RVhUKDM1MDA3LGYpO2IucHVzaChmKTtyKGIubGVuZ3RoLTEsYi5sZW5ndGgsZyl9LGVuZFF1ZXJ5OmZ1bmN0aW9uKCl7Yy5lbmRRdWVyeUVYVCgzNTAwNyl9LHB1c2hTY29wZVN0YXRzOnIsdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGcsZjtnPWIubGVuZ3RoO2lmKDAhPT1nKXt5Lmxlbmd0aD1NYXRoLm1heCh5Lmxlbmd0aCxnKzEpO3QubGVuZ3RoPU1hdGgubWF4KHQubGVuZ3RoLFxuZysxKTt0WzBdPTA7dmFyIGs9eVswXT0wO2ZvcihmPWc9MDtmPGIubGVuZ3RoOysrZil7dmFyIGw9YltmXTtjLmdldFF1ZXJ5T2JqZWN0RVhUKGwsMzQ5MTkpPyhrKz1jLmdldFF1ZXJ5T2JqZWN0RVhUKGwsMzQ5MTgpLGEucHVzaChsKSk6YltnKytdPWw7dFtmKzFdPWs7eVtmKzFdPWd9Yi5sZW5ndGg9Zztmb3IoZj1nPTA7Zjx1Lmxlbmd0aDsrK2Ype3ZhciBrPXVbZl0sbj1rLnN0YXJ0UXVlcnlJbmRleCxsPWsuZW5kUXVlcnlJbmRleDtrLnN1bSs9dFtsXS10W25dO249eVtuXTtsPXlbbF07bD09PW4/KGsuc3RhdHMuZ3B1VGltZSs9ay5zdW0vMUU2LEYucHVzaChrKSk6KGsuc3RhcnRRdWVyeUluZGV4PW4say5lbmRRdWVyeUluZGV4PWwsdVtnKytdPWspfXUubGVuZ3RoPWd9fSxnZXROdW1QZW5kaW5nUXVlcmllczpmdW5jdGlvbigpe3JldHVybiBiLmxlbmd0aH0sY2xlYXI6ZnVuY3Rpb24oKXthLnB1c2guYXBwbHkoYSxiKTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoO2crKyljLmRlbGV0ZVF1ZXJ5RVhUKGFbZ10pO1xuYi5sZW5ndGg9MDthLmxlbmd0aD0wfSxyZXN0b3JlOmZ1bmN0aW9uKCl7Yi5sZW5ndGg9MDthLmxlbmd0aD0wfX19fSx7fV0sMjA6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9XCJ1bmRlZmluZWRcIiE9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX19LHt9XSwyMTpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoZil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGYpfWZ1bmN0aW9uIGsoZil7cmV0dXJuIGwoZikuam9pbihcIlwiKX12YXIgeD1mKFwiLi9leHRlbmRcIik7cC5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZigpe3ZhciBiPVtdLGM9W107cmV0dXJuIHgoZnVuY3Rpb24oKXtiLnB1c2guYXBwbHkoYixsKGFyZ3VtZW50cykpfSx7ZGVmOmZ1bmN0aW9uKCl7dmFyIGY9XCJ2XCIrYSsrO2MucHVzaChmKTswPGFyZ3VtZW50cy5sZW5ndGgmJlxuKGIucHVzaChmLFwiPVwiKSxiLnB1c2guYXBwbHkoYixsKGFyZ3VtZW50cykpLGIucHVzaChcIjtcIikpO3JldHVybiBmfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBrKFswPGMubGVuZ3RoP1widmFyIFwiK2MrXCI7XCI6XCJcIixrKGIpXSl9fSl9ZnVuY3Rpb24gYygpe2Z1bmN0aW9uIGEoZixrKXtjKGYsayxcIj1cIixiLmRlZihmLGspLFwiO1wiKX12YXIgYj1mKCksYz1mKCksaz1iLnRvU3RyaW5nLHQ9Yy50b1N0cmluZztyZXR1cm4geChmdW5jdGlvbigpe2IuYXBwbHkoYixsKGFyZ3VtZW50cykpfSx7ZGVmOmIuZGVmLGVudHJ5OmIsZXhpdDpjLHNhdmU6YSxzZXQ6ZnVuY3Rpb24oYyxmLGspe2EoYyxmKTtiKGMsZixcIj1cIixrLFwiO1wiKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gaygpK3QoKX19KX12YXIgYT0wLGI9W10scD1bXSx1PWYoKSx0PXt9O3JldHVybntnbG9iYWw6dSxsaW5rOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZz0wO2c8cC5sZW5ndGg7KytnKWlmKHBbZ109PT1jKXJldHVybiBiW2ddO1xuZz1cImdcIithKys7Yi5wdXNoKGcpO3AucHVzaChjKTtyZXR1cm4gZ30sYmxvY2s6Zixwcm9jOmZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gZigpe3ZhciBhPVwiYVwiK2wubGVuZ3RoO2wucHVzaChhKTtyZXR1cm4gYX12YXIgbD1bXTtiPWJ8fDA7Zm9yKHZhciByPTA7cjxiOysrcilmKCk7dmFyIHI9YygpLG49ci50b1N0cmluZztyZXR1cm4gdFthXT14KHIse2FyZzpmLHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGsoW1wiZnVuY3Rpb24oXCIsbC5qb2luKCksXCIpe1wiLG4oKSxcIn1cIl0pfX0pfSxzY29wZTpjLGNvbmQ6ZnVuY3Rpb24oKXt2YXIgYT1rKGFyZ3VtZW50cyksYj1jKCksZj1jKCkscj1iLnRvU3RyaW5nLHQ9Zi50b1N0cmluZztyZXR1cm4geChiLHt0aGVuOmZ1bmN0aW9uKCl7Yi5hcHBseShiLGwoYXJndW1lbnRzKSk7cmV0dXJuIHRoaXN9LFwiZWxzZVwiOmZ1bmN0aW9uKCl7Zi5hcHBseShmLGwoYXJndW1lbnRzKSk7cmV0dXJuIHRoaXN9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGI9XG50KCk7YiYmKGI9XCJlbHNle1wiK2IrXCJ9XCIpO3JldHVybiBrKFtcImlmKFwiLGEsXCIpe1wiLHIoKSxcIn1cIixiXSl9fSl9LGNvbXBpbGU6ZnVuY3Rpb24oKXt2YXIgYT1bJ1widXNlIHN0cmljdFwiOycsdSxcInJldHVybiB7XCJdO09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24oYil7YS5wdXNoKCdcIicsYiwnXCI6Jyx0W2JdLnRvU3RyaW5nKCksXCIsXCIpfSk7YS5wdXNoKFwifVwiKTt2YXIgYz1rKGEpLnJlcGxhY2UoLzsvZyxcIjtcXG5cIikucmVwbGFjZSgvfS9nLFwifVxcblwiKS5yZXBsYWNlKC97L2csXCJ7XFxuXCIpO3JldHVybiBGdW5jdGlvbi5hcHBseShudWxsLGIuY29uY2F0KGMpKS5hcHBseShudWxsLHApfX19fSx7XCIuL2V4dGVuZFwiOjIyfV0sMjI6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9ZnVuY3Rpb24oZixrKXtmb3IodmFyIHA9T2JqZWN0LmtleXMoaykscj0wO3I8cC5sZW5ndGg7KytyKWZbcFtyXV09a1twW3JdXTtyZXR1cm4gZn19LHt9XSwyMzpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoZixcbmMsYSxiLGssbCl7Zm9yKHZhciB0PTA7dDxjOysrdClmb3IodmFyIHA9Zlt0XSxnPTA7ZzxhOysrZylmb3IodmFyIHg9cFtnXSx1PTA7dTxiOysrdSlrW2wrK109eFt1XX1mdW5jdGlvbiBrKGYsYyxhLGIscCl7Zm9yKHZhciB4PTEsdD1hKzE7dDxjLmxlbmd0aDsrK3QpeCo9Y1t0XTt2YXIgeT1jW2FdO2lmKDQ9PT1jLmxlbmd0aC1hKXt2YXIgZz1jW2ErMV0sdT1jW2ErMl07Yz1jW2ErM107Zm9yKHQ9MDt0PHk7Kyt0KWwoZlt0XSxnLHUsYyxiLHApLHArPXh9ZWxzZSBmb3IodD0wO3Q8eTsrK3QpayhmW3RdLGMsYSsxLGIscCkscCs9eH12YXIgeD1mKFwiLi9wb29sXCIpO3AuZXhwb3J0cz17c2hhcGU6ZnVuY3Rpb24oZil7Zm9yKHZhciBjPVtdO2YubGVuZ3RoO2Y9ZlswXSljLnB1c2goZi5sZW5ndGgpO3JldHVybiBjfSxmbGF0dGVuOmZ1bmN0aW9uKGYsYyxhLGIpe3ZhciBwPTE7aWYoYy5sZW5ndGgpZm9yKHZhciB1PTA7dTxjLmxlbmd0aDsrK3UpcCo9Y1t1XTtlbHNlIHA9MDthPWJ8fFxueC5hbGxvY1R5cGUoYSxwKTtzd2l0Y2goYy5sZW5ndGgpe2Nhc2UgMDpicmVhaztjYXNlIDE6Yj1jWzBdO2ZvcihjPTA7YzxiOysrYylhW2NdPWZbY107YnJlYWs7Y2FzZSAyOmI9Y1swXTtjPWNbMV07Zm9yKHU9cD0wO3U8YjsrK3UpZm9yKHZhciB0PWZbdV0seT0wO3k8YzsrK3kpYVtwKytdPXRbeV07YnJlYWs7Y2FzZSAzOmwoZixjWzBdLGNbMV0sY1syXSxhLDApO2JyZWFrO2RlZmF1bHQ6ayhmLGMsMCxhLDApfXJldHVybiBhfX19LHtcIi4vcG9vbFwiOjI4fV0sMjQ6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi9pcy10eXBlZC1hcnJheVwiKTtwLmV4cG9ydHM9ZnVuY3Rpb24oZil7cmV0dXJuIEFycmF5LmlzQXJyYXkoZil8fGwoZil9fSx7XCIuL2lzLXR5cGVkLWFycmF5XCI6MjZ9XSwyNTpbZnVuY3Rpb24oZixwLHUpe3ZhciBsPWYoXCIuL2lzLXR5cGVkLWFycmF5XCIpO3AuZXhwb3J0cz1mdW5jdGlvbihmKXtyZXR1cm4hIWYmJlwib2JqZWN0XCI9PT10eXBlb2YgZiYmQXJyYXkuaXNBcnJheShmLnNoYXBlKSYmXG5BcnJheS5pc0FycmF5KGYuc3RyaWRlKSYmXCJudW1iZXJcIj09PXR5cGVvZiBmLm9mZnNldCYmZi5zaGFwZS5sZW5ndGg9PT1mLnN0cmlkZS5sZW5ndGgmJihBcnJheS5pc0FycmF5KGYuZGF0YSl8fGwoZi5kYXRhKSl9fSx7XCIuL2lzLXR5cGVkLWFycmF5XCI6MjZ9XSwyNjpbZnVuY3Rpb24oZixwLHUpe3ZhciBsPWYoXCIuLi9jb25zdGFudHMvYXJyYXl0eXBlcy5qc29uXCIpO3AuZXhwb3J0cz1mdW5jdGlvbihmKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGYpaW4gbH19LHtcIi4uL2NvbnN0YW50cy9hcnJheXR5cGVzLmpzb25cIjozfV0sMjc6W2Z1bmN0aW9uKGYscCx1KXtwLmV4cG9ydHM9ZnVuY3Rpb24oZixrKXtmb3IodmFyIHA9QXJyYXkoZikscj0wO3I8ZjsrK3IpcFtyXT1rKHIpO3JldHVybiBwfX0se31dLDI4OltmdW5jdGlvbihmLHAsdSl7ZnVuY3Rpb24gbChjKXt2YXIgYSxiO2E9KDY1NTM1PGMpPDw0O2M+Pj49YTtiPSgyNTU8Yyk8PDM7Yz4+Pj1iO2F8PVxuYjtiPSgxNTxjKTw8MjtjPj4+PWI7YXw9YjtiPSgzPGMpPDwxO3JldHVybiBhfGJ8Yz4+PmI+PjF9ZnVuY3Rpb24gayhjKXthOntmb3IodmFyIGE9MTY7MjY4NDM1NDU2Pj1hO2EqPTE2KWlmKGM8PWEpe2M9YTticmVhayBhfWM9MH1hPXJbbChjKT4+Ml07cmV0dXJuIDA8YS5sZW5ndGg/YS5wb3AoKTpuZXcgQXJyYXlCdWZmZXIoYyl9ZnVuY3Rpb24geChjKXtyW2woYy5ieXRlTGVuZ3RoKT4+Ml0ucHVzaChjKX12YXIgcj1mKFwiLi9sb29wXCIpKDgsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO3AuZXhwb3J0cz17YWxsb2M6ayxmcmVlOngsYWxsb2NUeXBlOmZ1bmN0aW9uKGMsYSl7dmFyIGI9bnVsbDtzd2l0Y2goYyl7Y2FzZSA1MTIwOmI9bmV3IEludDhBcnJheShrKGEpLDAsYSk7YnJlYWs7Y2FzZSA1MTIxOmI9bmV3IFVpbnQ4QXJyYXkoayhhKSwwLGEpO2JyZWFrO2Nhc2UgNTEyMjpiPW5ldyBJbnQxNkFycmF5KGsoMiphKSwwLGEpO2JyZWFrO2Nhc2UgNTEyMzpiPW5ldyBVaW50MTZBcnJheShrKDIqXG5hKSwwLGEpO2JyZWFrO2Nhc2UgNTEyNDpiPW5ldyBJbnQzMkFycmF5KGsoNCphKSwwLGEpO2JyZWFrO2Nhc2UgNTEyNTpiPW5ldyBVaW50MzJBcnJheShrKDQqYSksMCxhKTticmVhaztjYXNlIDUxMjY6Yj1uZXcgRmxvYXQzMkFycmF5KGsoNCphKSwwLGEpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIG51bGx9cmV0dXJuIGIubGVuZ3RoIT09YT9iLnN1YmFycmF5KDAsYSk6Yn0sZnJlZVR5cGU6ZnVuY3Rpb24oYyl7eChjLmJ1ZmZlcil9fX0se1wiLi9sb29wXCI6Mjd9XSwyOTpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1cImZ1bmN0aW9uXCI9PT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZcImZ1bmN0aW9uXCI9PT10eXBlb2YgY2FuY2VsQW5pbWF0aW9uRnJhbWU/e25leHQ6ZnVuY3Rpb24oZil7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShmKX0sY2FuY2VsOmZ1bmN0aW9uKGYpe3JldHVybiBjYW5jZWxBbmltYXRpb25GcmFtZShmKX19OntuZXh0OmZ1bmN0aW9uKGYpe3JldHVybiBzZXRUaW1lb3V0KGYsXG4xNil9LGNhbmNlbDpjbGVhclRpbWVvdXR9fSx7fV0sMzA6W2Z1bmN0aW9uKGYscCx1KXt2YXIgbD1mKFwiLi9wb29sXCIpLGs9bmV3IEZsb2F0MzJBcnJheSgxKSx4PW5ldyBVaW50MzJBcnJheShrLmJ1ZmZlcik7cC5leHBvcnRzPWZ1bmN0aW9uKGYpe2Zvcih2YXIgYz1sLmFsbG9jVHlwZSg1MTIzLGYubGVuZ3RoKSxhPTA7YTxmLmxlbmd0aDsrK2EpaWYoaXNOYU4oZlthXSkpY1thXT02NTUzNTtlbHNlIGlmKEluZmluaXR5PT09ZlthXSljW2FdPTMxNzQ0O2Vsc2UgaWYoLUluZmluaXR5PT09ZlthXSljW2FdPTY0NTEyO2Vsc2V7a1swXT1mW2FdO3ZhciBiPXhbMF0scD1iPj4+MzE8PDE1LHU9KGI8PDE+Pj4yNCktMTI3LGI9Yj4+MTMmMTAyMztjW2FdPS0yND51P3A6LTE0PnU/cCsoYisxMDI0Pj4tMTQtdSk6MTU8dT9wKzMxNzQ0OnArKHUrMTU8PDEwKStifXJldHVybiBjfX0se1wiLi9wb29sXCI6Mjh9XSwzMTpbZnVuY3Rpb24oZixwLHUpe3AuZXhwb3J0cz1mdW5jdGlvbihmKXtyZXR1cm4gT2JqZWN0LmtleXMoZikubWFwKGZ1bmN0aW9uKGspe3JldHVybiBmW2tdfSl9fSxcbnt9XSwzMjpbZnVuY3Rpb24oZixwLHUpe2Z1bmN0aW9uIGwoYSxiLGYpe2Z1bmN0aW9uIGsoKXt2YXIgYj13aW5kb3cuaW5uZXJXaWR0aCxnPXdpbmRvdy5pbm5lckhlaWdodDthIT09ZG9jdW1lbnQuYm9keSYmKGc9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxiPWcucmlnaHQtZy5sZWZ0LGc9Zy50b3AtZy5ib3R0b20pO2wud2lkdGg9ZipiO2wuaGVpZ2h0PWYqZztjKGwuc3R5bGUse3dpZHRoOmIrXCJweFwiLGhlaWdodDpnK1wicHhcIn0pfXZhciBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7YyhsLnN0eWxlLHtib3JkZXI6MCxtYXJnaW46MCxwYWRkaW5nOjAsdG9wOjAsbGVmdDowfSk7YS5hcHBlbmRDaGlsZChsKTthPT09ZG9jdW1lbnQuYm9keSYmKGwuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLGMoYS5zdHlsZSx7bWFyZ2luOjAscGFkZGluZzowfSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsaywhMSk7aygpO3JldHVybntjYW52YXM6bCxvbkRlc3Ryb3k6ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLFxuayk7YS5yZW1vdmVDaGlsZChsKX19fWZ1bmN0aW9uIGsoYSxiKXtmdW5jdGlvbiBjKGYpe3RyeXtyZXR1cm4gYS5nZXRDb250ZXh0KGYsYil9Y2F0Y2goayl7cmV0dXJuIG51bGx9fXJldHVybiBjKFwid2ViZ2xcIil8fGMoXCJleHBlcmltZW50YWwtd2ViZ2xcIil8fGMoXCJ3ZWJnbC1leHBlcmltZW50YWxcIil9ZnVuY3Rpb24geChhKXtyZXR1cm5cInN0cmluZ1wiPT09dHlwZW9mIGE/YS5zcGxpdCgpOmF9ZnVuY3Rpb24gcihhKXtyZXR1cm5cInN0cmluZ1wiPT09dHlwZW9mIGE/ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKTphfXZhciBjPWYoXCIuL3V0aWwvZXh0ZW5kXCIpO3AuZXhwb3J0cz1mdW5jdGlvbihhKXt2YXIgYj1hfHx7fSxjLGYscCx1O2E9e307dmFyIGc9W10sRT1bXSxDPVwidW5kZWZpbmVkXCI9PT10eXBlb2Ygd2luZG93PzE6d2luZG93LmRldmljZVBpeGVsUmF0aW8sTj0hMSxuPWZ1bmN0aW9uKGEpe30sbT1mdW5jdGlvbigpe307XCJzdHJpbmdcIj09PXR5cGVvZiBiP2M9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihiKTpcblwib2JqZWN0XCI9PT10eXBlb2YgYiYmKFwic3RyaW5nXCI9PT10eXBlb2YgYi5ub2RlTmFtZSYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGIuYXBwZW5kQ2hpbGQmJlwiZnVuY3Rpb25cIj09PXR5cGVvZiBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdD9jPWI6XCJmdW5jdGlvblwiPT09dHlwZW9mIGIuZHJhd0FycmF5c3x8XCJmdW5jdGlvblwiPT09dHlwZW9mIGIuZHJhd0VsZW1lbnRzPyh1PWIscD11LmNhbnZhcyk6KFwiZ2xcImluIGI/dT1iLmdsOlwiY2FudmFzXCJpbiBiP3A9cihiLmNhbnZhcyk6XCJjb250YWluZXJcImluIGImJihmPXIoYi5jb250YWluZXIpKSxcImF0dHJpYnV0ZXNcImluIGImJihhPWIuYXR0cmlidXRlcyksXCJleHRlbnNpb25zXCJpbiBiJiYoZz14KGIuZXh0ZW5zaW9ucykpLFwib3B0aW9uYWxFeHRlbnNpb25zXCJpbiBiJiYoRT14KGIub3B0aW9uYWxFeHRlbnNpb25zKSksXCJvbkRvbmVcImluIGImJihuPWIub25Eb25lKSxcInByb2ZpbGVcImluIGImJihOPSEhYi5wcm9maWxlKSxcInBpeGVsUmF0aW9cImluIGImJlxuKEM9K2IucGl4ZWxSYXRpbykpKTtjJiYoXCJjYW52YXNcIj09PWMubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9wPWM6Zj1jKTtpZighdSl7aWYoIXApe2M9bChmfHxkb2N1bWVudC5ib2R5LG4sQyk7aWYoIWMpcmV0dXJuIG51bGw7cD1jLmNhbnZhczttPWMub25EZXN0cm95fXU9ayhwLGEpfXJldHVybiB1P3tnbDp1LGNhbnZhczpwLGNvbnRhaW5lcjpmLGV4dGVuc2lvbnM6ZyxvcHRpb25hbEV4dGVuc2lvbnM6RSxwaXhlbFJhdGlvOkMscHJvZmlsZTpOLG9uRG9uZTpuLG9uRGVzdHJveTptfToobSgpLG4oXCJ3ZWJnbCBub3Qgc3VwcG9ydGVkLCB0cnkgdXBncmFkaW5nIHlvdXIgYnJvd3NlciBvciBncmFwaGljcyBkcml2ZXJzIGh0dHA6Ly9nZXQud2ViZ2wub3JnXCIpLG51bGwpfX0se1wiLi91dGlsL2V4dGVuZFwiOjIyfV0sMzM6W2Z1bmN0aW9uKGYscCx1KXtmdW5jdGlvbiBsKGEsYil7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDsrK2MpaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9dmFyIGs9XG5mKFwiLi9saWIvdXRpbC9leHRlbmRcIikseD1mKFwiLi9saWIvZHluYW1pY1wiKSxyPWYoXCIuL2xpYi91dGlsL3JhZlwiKSxjPWYoXCIuL2xpYi91dGlsL2Nsb2NrXCIpLGE9ZihcIi4vbGliL3N0cmluZ3NcIiksYj1mKFwiLi9saWIvd2ViZ2xcIiksRj1mKFwiLi9saWIvZXh0ZW5zaW9uXCIpLE09ZihcIi4vbGliL2xpbWl0c1wiKSx0PWYoXCIuL2xpYi9idWZmZXJcIikseT1mKFwiLi9saWIvZWxlbWVudHNcIiksZz1mKFwiLi9saWIvdGV4dHVyZVwiKSxFPWYoXCIuL2xpYi9yZW5kZXJidWZmZXJcIiksQz1mKFwiLi9saWIvZnJhbWVidWZmZXJcIiksTj1mKFwiLi9saWIvYXR0cmlidXRlXCIpLG49ZihcIi4vbGliL3NoYWRlclwiKSxtPWYoXCIuL2xpYi9yZWFkXCIpLEI9ZihcIi4vbGliL2NvcmVcIiksWT1mKFwiLi9saWIvc3RhdHNcIiksTD1mKFwiLi9saWIvdGltZXJcIik7cC5leHBvcnRzPWZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGgoKXtpZigwPT09US5sZW5ndGgpRyYmRy51cGRhdGUoKSxUPW51bGw7ZWxzZXtUPXIubmV4dChoKTtLKCk7Zm9yKHZhciBhPVxuUS5sZW5ndGgtMTswPD1hOy0tYSl7dmFyIGI9UVthXTtiJiZiKFUsbnVsbCwwKX1xLmZsdXNoKCk7RyYmRy51cGRhdGUoKX19ZnVuY3Rpb24gcCgpeyFUJiYwPFEubGVuZ3RoJiYoVD1yLm5leHQoaCkpfWZ1bmN0aW9uIHUoKXtUJiYoci5jYW5jZWwoaCksVD1udWxsKX1mdW5jdGlvbiBMYShhKXthLnByZXZlbnREZWZhdWx0KCk7dSgpO3BhLmZvckVhY2goZnVuY3Rpb24oYSl7YSgpfSl9ZnVuY3Rpb24gemEoYSl7cS5nZXRFcnJvcigpO21hLnJlc3RvcmUoKTtzYS5yZXN0b3JlKCk7a2EucmVzdG9yZSgpO2RhLnJlc3RvcmUoKTtqYS5yZXN0b3JlKCk7bGEucmVzdG9yZSgpO0cmJkcucmVzdG9yZSgpO2VhLnByb2NzLnJlZnJlc2goKTtwKCk7Vi5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EoKX0pfWZ1bmN0aW9uIEdhKGEpe2Z1bmN0aW9uIGIoYSl7dmFyIGM9e30sZj17fTtPYmplY3Qua2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBnPWFbYl07eC5pc0R5bmFtaWMoZyk/ZltiXT14LnVuYm94KGcsXG5iKTpjW2JdPWd9KTtyZXR1cm57ZHluYW1pYzpmLFwic3RhdGljXCI6Y319ZnVuY3Rpb24gYyhhKXtmb3IoO3EubGVuZ3RoPGE7KXEucHVzaChudWxsKTtyZXR1cm4gcX12YXIgZj1iKGEuY29udGV4dHx8e30pLGc9YihhLnVuaWZvcm1zfHx7fSksaD1iKGEuYXR0cmlidXRlc3x8e30pLGw9YihmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEpe2lmKGEgaW4gYyl7dmFyIGY9Y1thXTtkZWxldGUgY1thXTtPYmplY3Qua2V5cyhmKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2NbYStcIi5cIitiXT1mW2JdfSl9fXZhciBjPWsoe30sYSk7ZGVsZXRlIGMudW5pZm9ybXM7ZGVsZXRlIGMuYXR0cmlidXRlcztkZWxldGUgYy5jb250ZXh0O1wic3RlbmNpbFwiaW4gYyYmYy5zdGVuY2lsLm9wJiYoYy5zdGVuY2lsLm9wQmFjaz1jLnN0ZW5jaWwub3BGcm9udD1jLnN0ZW5jaWwub3AsZGVsZXRlIGMuc3RlbmNpbC5vcCk7YihcImJsZW5kXCIpO2IoXCJkZXB0aFwiKTtiKFwiY3VsbFwiKTtiKFwic3RlbmNpbFwiKTtiKFwicG9seWdvbk9mZnNldFwiKTtcbmIoXCJzY2lzc29yXCIpO2IoXCJzYW1wbGVcIik7cmV0dXJuIGN9KGEpKTthPXtncHVUaW1lOjAsY3B1VGltZTowLGNvdW50OjB9O3ZhciBmPWVhLmNvbXBpbGUobCxoLGcsZixhKSxtPWYuZHJhdyxuPWYuYmF0Y2gscD1mLnNjb3BlLHE9W107cmV0dXJuIGsoZnVuY3Rpb24oYSxiKXt2YXIgZjtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgYSlyZXR1cm4gcC5jYWxsKHRoaXMsbnVsbCxhLDApO2lmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBiKWlmKFwibnVtYmVyXCI9PT10eXBlb2YgYSlmb3IoZj0wO2Y8YTsrK2YpcC5jYWxsKHRoaXMsbnVsbCxiLGYpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlmb3IoZj0wO2Y8YS5sZW5ndGg7KytmKXAuY2FsbCh0aGlzLGFbZl0sYixmKTtlbHNlIHJldHVybiBwLmNhbGwodGhpcyxhLGIsMCk7ZWxzZSBpZihcIm51bWJlclwiPT09dHlwZW9mIGEpe2lmKDA8YSlyZXR1cm4gbi5jYWxsKHRoaXMsYyhhfDApLGF8MCl9ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aClyZXR1cm4gbi5jYWxsKHRoaXMsXG5hLGEubGVuZ3RoKX1lbHNlIHJldHVybiBtLmNhbGwodGhpcyxhKX0se3N0YXRzOmF9KX1mdW5jdGlvbiBaKGEpe1EucHVzaChhKTtwKCk7cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXt2YXIgYT1sKFEsYik7UVthXT1RW1EubGVuZ3RoLTFdOy0tUS5sZW5ndGg7MD49US5sZW5ndGgmJnUoKX12YXIgYz1sKFEsYSk7UVtjXT1ifX19ZnVuY3Rpb24gRCgpe3ZhciBhPU8udmlld3BvcnQsYj1PLnNjaXNzb3JfYm94O2FbMF09YVsxXT1iWzBdPWJbMV09MDtVLnZpZXdwb3J0V2lkdGg9VS5mcmFtZWJ1ZmZlcldpZHRoPVUuZHJhd2luZ0J1ZmZlcldpZHRoPWFbMl09YlsyXT1xLmRyYXdpbmdCdWZmZXJXaWR0aDtVLnZpZXdwb3J0SGVpZ2h0PVUuZnJhbWVidWZmZXJIZWlnaHQ9VS5kcmF3aW5nQnVmZmVySGVpZ2h0PWFbM109YlszXT1xLmRyYXdpbmdCdWZmZXJIZWlnaHR9ZnVuY3Rpb24gSygpe1UudGljays9MTtVLnRpbWU9dmEoKTtEKCk7ZWEucHJvY3MucG9sbCgpfWZ1bmN0aW9uIEFhKCl7RCgpO1xuZWEucHJvY3MucmVmcmVzaCgpO0cmJkcudXBkYXRlKCl9ZnVuY3Rpb24gdmEoKXtyZXR1cm4oYygpLWJhKS8xRTN9Zj1iKGYpO2lmKCFmKXJldHVybiBudWxsO3ZhciBxPWYuZ2wsUz1xLmdldENvbnRleHRBdHRyaWJ1dGVzKCk7cS5pc0NvbnRleHRMb3N0KCk7dmFyIG1hPUYocSxmKTtpZighbWEpcmV0dXJuIG51bGw7dmFyIGdhPWEoKSxXPVkoKSxSPW1hLmV4dGVuc2lvbnMsRz1MKHEsUiksYmE9YygpLG5hPXEuZHJhd2luZ0J1ZmZlcldpZHRoLHlhPXEuZHJhd2luZ0J1ZmZlckhlaWdodCxVPXt0aWNrOjAsdGltZTowLHZpZXdwb3J0V2lkdGg6bmEsdmlld3BvcnRIZWlnaHQ6eWEsZnJhbWVidWZmZXJXaWR0aDpuYSxmcmFtZWJ1ZmZlckhlaWdodDp5YSxkcmF3aW5nQnVmZmVyV2lkdGg6bmEsZHJhd2luZ0J1ZmZlckhlaWdodDp5YSxwaXhlbFJhdGlvOmYucGl4ZWxSYXRpb30saWE9TShxLFIpLGthPXQocSxXLGYpLHJhPXkocSxSLGthLFcpLG5hPU4ocSxSLGlhLGthLGdhKSxzYT1uKHEsXG5nYSxXLGYpLGRhPWcocSxSLGlhLGZ1bmN0aW9uKCl7ZWEucHJvY3MucG9sbCgpfSxVLFcsZiksamE9RShxLFIsaWEsVyxmKSxsYT1DKHEsUixpYSxkYSxqYSxXKSxlYT1CKHEsZ2EsUixpYSxrYSxyYSxkYSxsYSx7fSxuYSxzYSx7ZWxlbWVudHM6bnVsbCxwcmltaXRpdmU6NCxjb3VudDotMSxvZmZzZXQ6MCxpbnN0YW5jZXM6LTF9LFUsRyxmKSxnYT1tKHEsbGEsZWEucHJvY3MucG9sbCxVLFMsUiksTz1lYS5uZXh0LGhhPXEuY2FudmFzLFE9W10scGE9W10sVj1bXSxYPVtmLm9uRGVzdHJveV0sVD1udWxsO2hhJiYoaGEuYWRkRXZlbnRMaXN0ZW5lcihcIndlYmdsY29udGV4dGxvc3RcIixMYSwhMSksaGEuYWRkRXZlbnRMaXN0ZW5lcihcIndlYmdsY29udGV4dHJlc3RvcmVkXCIsemEsITEpKTtBYSgpO1M9ayhHYSx7Y2xlYXI6ZnVuY3Rpb24oYSl7dmFyIGI9MDtlYS5wcm9jcy5wb2xsKCk7dmFyIGM9YS5jb2xvcjtjJiYocS5jbGVhckNvbG9yKCtjWzBdfHwwLCtjWzFdfHwwLCtjWzJdfHwwLFxuK2NbM118fDApLGJ8PTE2Mzg0KTtcImRlcHRoXCJpbiBhJiYocS5jbGVhckRlcHRoKCthLmRlcHRoKSxifD0yNTYpO1wic3RlbmNpbFwiaW4gYSYmKHEuY2xlYXJTdGVuY2lsKGEuc3RlbmNpbHwwKSxifD0xMDI0KTtxLmNsZWFyKGIpfSxwcm9wOnguZGVmaW5lLmJpbmQobnVsbCwxKSxjb250ZXh0OnguZGVmaW5lLmJpbmQobnVsbCwyKSxcInRoaXNcIjp4LmRlZmluZS5iaW5kKG51bGwsMyksZHJhdzpHYSh7fSksYnVmZmVyOmZ1bmN0aW9uKGEpe3JldHVybiBrYS5jcmVhdGUoYSwzNDk2MiwhMSwhMSl9LGVsZW1lbnRzOmZ1bmN0aW9uKGEpe3JldHVybiByYS5jcmVhdGUoYSwhMSl9LHRleHR1cmU6ZGEuY3JlYXRlMkQsY3ViZTpkYS5jcmVhdGVDdWJlLHJlbmRlcmJ1ZmZlcjpqYS5jcmVhdGUsZnJhbWVidWZmZXI6bGEuY3JlYXRlLGZyYW1lYnVmZmVyQ3ViZTpsYS5jcmVhdGVDdWJlLGF0dHJpYnV0ZXM6UyxmcmFtZTpaLG9uOmZ1bmN0aW9uKGEsYil7dmFyIGM7c3dpdGNoKGEpe2Nhc2UgXCJmcmFtZVwiOnJldHVybiBaKGIpO1xuY2FzZSBcImxvc3RcIjpjPXBhO2JyZWFrO2Nhc2UgXCJyZXN0b3JlXCI6Yz1WO2JyZWFrO2Nhc2UgXCJkZXN0cm95XCI6Yz1YfWMucHVzaChiKTtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7YTxjLmxlbmd0aDsrK2EpaWYoY1thXT09PWIpe2NbYV09Y1tjLmxlbmd0aC0xXTtjLnBvcCgpO2JyZWFrfX19fSxsaW1pdHM6aWEsaGFzRXh0ZW5zaW9uOmZ1bmN0aW9uKGEpe3JldHVybiAwPD1pYS5leHRlbnNpb25zLmluZGV4T2YoYS50b0xvd2VyQ2FzZSgpKX0scmVhZDpnYSxkZXN0cm95OmZ1bmN0aW9uKCl7US5sZW5ndGg9MDt1KCk7aGEmJihoYS5yZW1vdmVFdmVudExpc3RlbmVyKFwid2ViZ2xjb250ZXh0bG9zdFwiLExhKSxoYS5yZW1vdmVFdmVudExpc3RlbmVyKFwid2ViZ2xjb250ZXh0cmVzdG9yZWRcIix6YSkpO3NhLmNsZWFyKCk7bGEuY2xlYXIoKTtqYS5jbGVhcigpO2RhLmNsZWFyKCk7cmEuY2xlYXIoKTtrYS5jbGVhcigpO0cmJkcuY2xlYXIoKTtYLmZvckVhY2goZnVuY3Rpb24oYSl7YSgpfSl9LFxuX2dsOnEsX3JlZnJlc2g6QWEscG9sbDpmdW5jdGlvbigpe0soKTtHJiZHLnVwZGF0ZSgpfSxub3c6dmEsc3RhdHM6V30pO2Yub25Eb25lKG51bGwsUyk7cmV0dXJuIFN9fSx7XCIuL2xpYi9hdHRyaWJ1dGVcIjoxLFwiLi9saWIvYnVmZmVyXCI6MixcIi4vbGliL2NvcmVcIjo3LFwiLi9saWIvZHluYW1pY1wiOjgsXCIuL2xpYi9lbGVtZW50c1wiOjksXCIuL2xpYi9leHRlbnNpb25cIjoxMCxcIi4vbGliL2ZyYW1lYnVmZmVyXCI6MTEsXCIuL2xpYi9saW1pdHNcIjoxMixcIi4vbGliL3JlYWRcIjoxMyxcIi4vbGliL3JlbmRlcmJ1ZmZlclwiOjE0LFwiLi9saWIvc2hhZGVyXCI6MTUsXCIuL2xpYi9zdGF0c1wiOjE2LFwiLi9saWIvc3RyaW5nc1wiOjE3LFwiLi9saWIvdGV4dHVyZVwiOjE4LFwiLi9saWIvdGltZXJcIjoxOSxcIi4vbGliL3V0aWwvY2xvY2tcIjoyMCxcIi4vbGliL3V0aWwvZXh0ZW5kXCI6MjIsXCIuL2xpYi91dGlsL3JhZlwiOjI5LFwiLi9saWIvd2ViZ2xcIjozMn1dfSx7fSxbMzNdKSgzMyl9KTtcblxufSkuY2FsbCh0aGlzLHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiA/IHNlbGYgOiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gd2luZG93IDoge30pXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldDp1dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkpsWjJ3dWFuTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqdEJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2laMlZ1WlhKaGRHVmtMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlobWRXNWpkR2x2YmloUFlTbDdYQ0p2WW1wbFkzUmNJajA5UFhSNWNHVnZaaUJsZUhCdmNuUnpKaVpjSW5WdVpHVm1hVzVsWkZ3aUlUMDlkSGx3Wlc5bUlHMXZaSFZzWlQ5dGIyUjFiR1V1Wlhod2IzSjBjejFQWVNncE9sd2lablZ1WTNScGIyNWNJajA5UFhSNWNHVnZaaUJrWldacGJtVW1KbVJsWm1sdVpTNWhiV1EvWkdWbWFXNWxLRnRkTEU5aEtUb29YQ0oxYm1SbFptbHVaV1JjSWlFOVBYUjVjR1Z2WmlCM2FXNWtiM2MvZDJsdVpHOTNPbHdpZFc1a1pXWnBibVZrWENJaFBUMTBlWEJsYjJZZ1oyeHZZbUZzUDJkc2IySmhiRHBjSW5WdVpHVm1hVzVsWkZ3aUlUMDlkSGx3Wlc5bUlITmxiR1kvYzJWc1pqcDBhR2x6S1M1amNtVmhkR1ZTUlVkTVBVOWhLQ2w5S1NobWRXNWpkR2x2YmlncGUzSmxkSFZ5YmlCbWRXNWpkR2x2YmlCbUtIQXNkU3hzS1h0bWRXNWpkR2x2YmlCcktHTXNZU2w3YVdZb0lYVmJZMTBwZTJsbUtDRndXMk5kS1h0MllYSWdZajFjSW1aMWJtTjBhVzl1WENJOVBYUjVjR1Z2WmlCeVpYRjFhWEpsSmlaeVpYRjFhWEpsTzJsbUtDRmhKaVppS1hKbGRIVnliaUJpS0dNc0lUQXBPMmxtS0hncGNtVjBkWEp1SUhnb1l5d2hNQ2s3WWoxRmNuSnZjaWhjSWtOaGJtNXZkQ0JtYVc1a0lHMXZaSFZzWlNBblhDSXJZeXRjSWlkY0lpazdkR2h5YjNjZ1lpNWpiMlJsUFZ3aVRVOUVWVXhGWDA1UFZGOUdUMVZPUkZ3aUxHSTdmV0k5WEc1MVcyTmRQWHRsZUhCdmNuUnpPbnQ5ZlR0d1cyTmRXekJkTG1OaGJHd29ZaTVsZUhCdmNuUnpMR1oxYm1OMGFXOXVLR0VwZTNaaGNpQmlQWEJiWTExYk1WMWJZVjA3Y21WMGRYSnVJR3NvWWo5aU9tRXBmU3hpTEdJdVpYaHdiM0owY3l4bUxIQXNkU3hzS1gxeVpYUjFjbTRnZFZ0alhTNWxlSEJ2Y25SemZXWnZjaWgyWVhJZ2VEMWNJbVoxYm1OMGFXOXVYQ0k5UFhSNWNHVnZaaUJ5WlhGMWFYSmxKaVp5WlhGMWFYSmxMSEk5TUR0eVBHd3ViR1Z1WjNSb08zSXJLeWxyS0d4YmNsMHBPM0psZEhWeWJpQnJmU2g3TVRwYlpuVnVZM1JwYjI0b1ppeHdMSFVwZTJaMWJtTjBhVzl1SUd3b0tYdDBhR2x6TG5jOWRHaHBjeTU2UFhSb2FYTXVlVDEwYUdsekxuZzlkR2hwY3k1emRHRjBaVDB3TzNSb2FYTXVZblZtWm1WeVBXNTFiR3c3ZEdocGN5NXphWHBsUFRBN2RHaHBjeTV1YjNKdFlXeHBlbVZrUFNFeE8zUm9hWE11ZEhsd1pUMDFNVEkyTzNSb2FYTXVaR2wyYVhOdmNqMTBhR2x6TG5OMGNtbGtaVDEwYUdsekxtOW1abk5sZEQwd2ZYQXVaWGh3YjNKMGN6MW1kVzVqZEdsdmJpaHJMSGdzY2l4akxHRXBlMnM5Y2k1dFlYaEJkSFJ5YVdKMWRHVnpPM2c5UVhKeVlYa29heWs3Wm05eUtISTlNRHR5UEdzN0t5dHlLWGhiY2wwOWJtVjNJR3c3Y21WMGRYSnVlMUpsWTI5eVpEcHNMSE5qYjNCbE9udDlMSE4wWVhSbE9uaDlmWDBzWEc1N2ZWMHNNanBiWm5WdVkzUnBiMjRvWml4d0xIVXBlMloxYm1OMGFXOXVJR3dvWXlsN2NtVjBkWEp1SUhSYlQySnFaV04wTG5CeWIzUnZkSGx3WlM1MGIxTjBjbWx1Wnk1allXeHNLR01wWFh3d2ZXWjFibU4wYVc5dUlHc29ZeXhoS1h0bWIzSW9kbUZ5SUdJOU1EdGlQR0V1YkdWdVozUm9PeXNyWWlsalcySmRQV0ZiWWwxOVpuVnVZM1JwYjI0Z2VDaGpMR0VzWWl4ckxHd3NjaXg0S1h0bWIzSW9kbUZ5SUdjOU1DeG9QVEE3YUR4aU95c3JhQ2xtYjNJb2RtRnlJR1k5TUR0bVBHczdLeXRtS1dOYlp5c3JYVDFoVzJ3cWFDdHlLbVlyZUYxOWRtRnlJSEk5WmloY0lpNHZkWFJwYkM5cGN5MTBlWEJsWkMxaGNuSmhlVndpS1N4alBXWW9YQ0l1TDNWMGFXd3ZhWE10Ym1SaGNuSmhlVndpS1N4aFBXWW9YQ0l1TDNWMGFXd3ZkbUZzZFdWelhDSXBMR0k5WmloY0lpNHZkWFJwYkM5d2IyOXNYQ0lwTzNVOVppaGNJaTR2ZFhScGJDOW1iR0YwZEdWdVhDSXBPM1poY2lCR1BYVXVabXhoZEhSbGJpeE5QWFV1YzJoaGNHVXNkRDFtS0Z3aUxpOWpiMjV6ZEdGdWRITXZZWEp5WVhsMGVYQmxjeTVxYzI5dVhDSXBMSGs5WmloY0lpNHZZMjl1YzNSaGJuUnpMMlIwZVhCbGN5NXFjMjl1WENJcExHYzlaaWhjSWk0dlkyOXVjM1JoYm5SekwzVnpZV2RsTG1wemIyNWNJaWtzUlQxYlhUdEZXelV4TWpCZFBURTdSVnMxTVRJeVhUMHlPMFZiTlRFeU5GMDlYRzQwTzBWYk5URXlNVjA5TVR0Rld6VXhNak5kUFRJN1JWczFNVEkxWFQwME8wVmJOVEV5TmwwOU5EdHdMbVY0Y0c5eWRITTlablZ1WTNScGIyNG9aaXgwTEc0cGUyWjFibU4wYVc5dUlHMG9ZeWw3ZEdocGN5NXBaRDFJS3lzN2RHaHBjeTVpZFdabVpYSTlaaTVqY21WaGRHVkNkV1ptWlhJb0tUdDBhR2x6TG5SNWNHVTlZenQwYUdsekxuVnpZV2RsUFRNMU1EUTBPM1JvYVhNdVlubDBaVXhsYm1kMGFEMHdPM1JvYVhNdVpHbHRaVzV6YVc5dVBURTdkR2hwY3k1a2RIbHdaVDAxTVRJeE8zUm9hWE11Y0dWeWMybHpkR1Z1ZEVSaGRHRTliblZzYkR0dUxuQnliMlpwYkdVbUppaDBhR2x6TG5OMFlYUnpQWHR6YVhwbE9qQjlLWDFtZFc1amRHbHZiaUJDS0dNc1lTeGlLWHRqTG1KNWRHVk1aVzVuZEdnOVlTNWllWFJsVEdWdVozUm9PMll1WW5WbVptVnlSR0YwWVNoakxuUjVjR1VzWVN4aUtYMW1kVzVqZEdsdmJpQndLR0VzYUN4dExHWXNaeXh1S1h0aExuVnpZV2RsUFcwN2FXWW9RWEp5WVhrdWFYTkJjbkpoZVNob0tTbDdhV1lvWVM1a2RIbHdaVDFtZkh3MU1USTJMREE4YUM1c1pXNW5kR2dwYVdZb1FYSnlZWGt1YVhOQmNuSmhlU2hvV3pCZEtTbDdaejFOS0dncE8yWnZjaWgyWVhJZ1N6MW1QVEU3U3p4bkxteGxibWQwYURzckswc3BaaW85WjF0TFhUdGhMbVJwYldWdWMybHZiajFtTzJnOVJpaG9MRnh1Wnl4aExtUjBlWEJsS1R0Q0tHRXNhQ3h0S1R0dVAyRXVjR1Z5YzJsemRHVnVkRVJoZEdFOWFEcGlMbVp5WldWVWVYQmxLR2dwZldWc2MyVmNJbTUxYldKbGNsd2lQVDA5ZEhsd1pXOW1JR2hiTUYwL0tHRXVaR2x0Wlc1emFXOXVQV2NzWnoxaUxtRnNiRzlqVkhsd1pTaGhMbVIwZVhCbExHZ3ViR1Z1WjNSb0tTeHJLR2NzYUNrc1FpaGhMR2NzYlNrc2JqOWhMbkJsY25OcGMzUmxiblJFWVhSaFBXYzZZaTVtY21WbFZIbHdaU2huS1NrNmNpaG9XekJkS1NZbUtHRXVaR2x0Wlc1emFXOXVQV2hiTUYwdWJHVnVaM1JvTEdFdVpIUjVjR1U5Wm54OGJDaG9XekJkS1h4OE5URXlOaXhvUFVZb2FDeGJhQzVzWlc1bmRHZ3NhRnN3WFM1c1pXNW5kR2hkTEdFdVpIUjVjR1VwTEVJb1lTeG9MRzBwTEc0L1lTNXdaWEp6YVhOMFpXNTBSR0YwWVQxb09tSXVabkpsWlZSNWNHVW9hQ2twZldWc2MyVWdhV1lvY2lob0tTbGhMbVIwZVhCbFBXWjhmR3dvYUNrc1lTNWthVzFsYm5OcGIyNDlaeXhDS0dFc2FDeHRLU3h1SmlZb1lTNXdaWEp6YVhOMFpXNTBSR0YwWVQxdVpYY2dWV2x1ZERoQmNuSmhlU2h1WlhjZ1ZXbHVkRGhCY25KaGVTaG9MbUoxWm1abGNpa3BLVHRsYkhObElHbG1LR01vYUNrcGUyYzlhQzV6YUdGd1pUdDJZWElnUXoxb0xuTjBjbWxrWlN4TFBXZ3ViMlptYzJWMExIazlNQ3h4UFRBc1V6MHdMSFE5WEc0d096RTlQVDFuTG14bGJtZDBhRDhvZVQxbld6QmRMSEU5TVN4VFBVTmJNRjBzZEQwd0tUb3lQVDA5Wnk1c1pXNW5kR2dtSmloNVBXZGJNRjBzY1Qxbld6RmRMRk05UTFzd1hTeDBQVU5iTVYwcE8yRXVaSFI1Y0dVOVpueDhiQ2hvTG1SaGRHRXBmSHcxTVRJMk8yRXVaR2x0Wlc1emFXOXVQWEU3WnoxaUxtRnNiRzlqVkhsd1pTaGhMbVIwZVhCbExIa3FjU2s3ZUNobkxHZ3VaR0YwWVN4NUxIRXNVeXgwTEVzcE8wSW9ZU3huTEcwcE8yNC9ZUzV3WlhKemFYTjBaVzUwUkdGMFlUMW5PbUl1Wm5KbFpWUjVjR1VvWnlsOWZXWjFibU4wYVc5dUlFd29ZeWw3ZEM1aWRXWm1aWEpEYjNWdWRDMHRPMll1WkdWc1pYUmxRblZtWm1WeUtHTXVZblZtWm1WeUtUdGpMbUoxWm1abGNqMXVkV3hzTzJSbGJHVjBaU0JvVzJNdWFXUmRmWFpoY2lCSVBUQXNhRDE3ZlR0dExuQnliM1J2ZEhsd1pTNWlhVzVrUFdaMWJtTjBhVzl1S0NsN1ppNWlhVzVrUW5WbVptVnlLSFJvYVhNdWRIbHdaU3gwYUdsekxtSjFabVpsY2lsOU8yMHVjSEp2ZEc5MGVYQmxMbVJsYzNSeWIzazlablZ1WTNScGIyNG9LWHRNS0hSb2FYTXBmVHQyWVhJZ1ptRTlXMTA3Ymk1d2NtOW1hV3hsSmlZb2RDNW5aWFJVYjNSaGJFSjFabVpsY2xOcGVtVTlablZ1WTNScGIyNG9LWHQyWVhJZ1l6MHdPMDlpYW1WamRDNXJaWGx6S0dncExtWnZja1ZoWTJnb1puVnVZM1JwYjI0b1lTbDdZeXM5WEc1b1cyRmRMbk4wWVhSekxuTnBlbVY5S1R0eVpYUjFjbTRnWTMwcE8zSmxkSFZ5Ym50amNtVmhkR1U2Wm5WdVkzUnBiMjRvWVN4Q0xFZ3NabUVwZTJaMWJtTjBhVzl1SUhVb1lTbDdkbUZ5SUdnOU16VXdORFFzWWoxdWRXeHNMSEU5TUN4clBUQXNiVDB4TzBGeWNtRjVMbWx6UVhKeVlYa29ZU2w4ZkhJb1lTbDhmR01vWVNrL1lqMWhPbHdpYm5WdFltVnlYQ0k5UFQxMGVYQmxiMllnWVQ5eFBXRjhNRHBoSmlZb1hDSmtZWFJoWENKcGJpQmhKaVlvWWoxaExtUmhkR0VwTEZ3aWRYTmhaMlZjSW1sdUlHRW1KaWhvUFdkYllTNTFjMkZuWlYwcExGd2lkSGx3WlZ3aWFXNGdZU1ltS0dzOWVWdGhMblI1Y0dWZEtTeGNJbVJwYldWdWMybHZibHdpYVc0Z1lTWW1LRzA5WVM1a2FXMWxibk5wYjI1OE1Da3NYQ0pzWlc1bmRHaGNJbWx1SUdFbUppaHhQV0V1YkdWdVozUm9mREFwS1R0RUxtSnBibVFvS1R0aVAzQW9SQ3hpTEdnc2F5eHRMR1poS1Rvb1ppNWlkV1ptWlhKRVlYUmhLRVF1ZEhsd1pTeHhMR2dwTEVRdVpIUjVjR1U5YTN4OE5URXlNU3hFTG5WellXZGxQV2dzUkM1a2FXMWxibk5wYjI0OWJTeEVMbUo1ZEdWTVpXNW5kR2c5Y1NrN2JpNXdjbTltYVd4bEppWW9SQzV6ZEdGMGN5NXphWHBsUFVRdVlubDBaVXhsYm1kMGFDcEZXMFF1WkhSNWNHVmRLVHR5WlhSMWNtNGdkWDEwTG1KMVptWmxja052ZFc1MEt5czdkbUZ5SUVROVhHNXVaWGNnYlNoQ0tUdG9XMFF1YVdSZFBVUTdTSHg4ZFNoaEtUdDFMbDl5Wldkc1ZIbHdaVDFjSW1KMVptWmxjbHdpTzNVdVgySjFabVpsY2oxRU8zVXVjM1ZpWkdGMFlUMW1kVzVqZEdsdmJpaGhMR2dwZTNaaGNpQnRQU2hvZkh3d0tYd3dMSEU3UkM1aWFXNWtLQ2s3YVdZb1FYSnlZWGt1YVhOQmNuSmhlU2hoS1NsN2FXWW9NRHhoTG14bGJtZDBhQ2xwWmloY0ltNTFiV0psY2x3aVBUMDlkSGx3Wlc5bUlHRmJNRjBwZTNaaGNpQm5QV0l1WVd4c2IyTlVlWEJsS0VRdVpIUjVjR1VzWVM1c1pXNW5kR2dwTzJzb1p5eGhLVHRtTG1KMVptWmxjbE4xWWtSaGRHRW9SQzUwZVhCbExHMHNaeWs3WWk1bWNtVmxWSGx3WlNobktYMWxiSE5sSUdsbUtFRnljbUY1TG1selFYSnlZWGtvWVZzd1hTbDhmSElvWVZzd1hTa3BjVDFOS0dFcExHYzlSaWhoTEhFc1JDNWtkSGx3WlNrc1ppNWlkV1ptWlhKVGRXSkVZWFJoS0VRdWRIbHdaU3h0TEdjcExHSXVabkpsWlZSNWNHVW9aeWw5Wld4elpTQnBaaWh5S0dFcEtXWXVZblZtWm1WeVUzVmlSR0YwWVNoRUxuUjVjR1VzYlN4aEtUdGxiSE5sSUdsbUtHTW9ZU2twZTNFOVlTNXphR0Z3WlR0MllYSWdiajFoTG5OMGNtbGtaU3hDUFdjOU1DeDVQVEFzZEQwd096RTlQVDF4TG14bGJtZDBhRDhvWnoxeFd6QmRMRUk5TVN4NVBXNWJNRjBzZEQwd0tUb3lQVDA5Y1M1c1pXNW5kR2dtSmx4dUtHYzljVnN3WFN4Q1BYRmJNVjBzZVQxdVd6QmRMSFE5YmxzeFhTazdjVDFCY25KaGVTNXBjMEZ5Y21GNUtHRXVaR0YwWVNrL1JDNWtkSGx3WlRwc0tHRXVaR0YwWVNrN2NUMWlMbUZzYkc5alZIbHdaU2h4TEdjcVFpazdlQ2h4TEdFdVpHRjBZU3huTEVJc2VTeDBMR0V1YjJabWMyVjBLVHRtTG1KMVptWmxjbE4xWWtSaGRHRW9SQzUwZVhCbExHMHNjU2s3WWk1bWNtVmxWSGx3WlNoeEtYMXlaWFIxY200Z2RYMDdiaTV3Y205bWFXeGxKaVlvZFM1emRHRjBjejFFTG5OMFlYUnpLVHQxTG1SbGMzUnliM2s5Wm5WdVkzUnBiMjRvS1h0TUtFUXBmVHR5WlhSMWNtNGdkWDBzWTNKbFlYUmxVM1J5WldGdE9tWjFibU4wYVc5dUtHRXNZeWw3ZG1GeUlHZzlabUV1Y0c5d0tDazdhSHg4S0dnOWJtVjNJRzBvWVNrcE8yZ3VZbWx1WkNncE8zQW9hQ3hqTERNMU1EUXdMREFzTVN3aE1TazdjbVYwZFhKdUlHaDlMR1JsYzNSeWIzbFRkSEpsWVcwNlpuVnVZM1JwYjI0b1lTbDdabUV1Y0hWemFDaGhLWDBzWTJ4bFlYSTZablZ1WTNScGIyNG9LWHRoS0dncExtWnZja1ZoWTJnb1RDazdabUV1Wm05eVJXRmphQ2hNS1gwc1oyVjBRblZtWm1WeU9tWjFibU4wYVc5dUtHRXBlM0psZEhWeWJpQmhKaVpoTGw5aWRXWm1aWElnYVc1emRHRnVZMlZ2WmlCdFAyRXVYMkoxWm1abGNqcHVkV3hzZlN4eVpYTjBiM0psT21aMWJtTjBhVzl1S0NsN1lTaG9LUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR0VwZTJFdVluVm1abVZ5UFZ4dVppNWpjbVZoZEdWQ2RXWm1aWElvS1R0bUxtSnBibVJDZFdabVpYSW9ZUzUwZVhCbExHRXVZblZtWm1WeUtUdG1MbUoxWm1abGNrUmhkR0VvWVM1MGVYQmxMR0V1Y0dWeWMybHpkR1Z1ZEVSaGRHRjhmR0V1WW5sMFpVeGxibWQwYUN4aExuVnpZV2RsS1gwcGZTeGZhVzVwZEVKMVptWmxjanB3ZlgxOUxIdGNJaTR2WTI5dWMzUmhiblJ6TDJGeWNtRjVkSGx3WlhNdWFuTnZibHdpT2pNc1hDSXVMMk52Ym5OMFlXNTBjeTlrZEhsd1pYTXVhbk52Ymx3aU9qUXNYQ0l1TDJOdmJuTjBZVzUwY3k5MWMyRm5aUzVxYzI5dVhDSTZOaXhjSWk0dmRYUnBiQzltYkdGMGRHVnVYQ0k2TWpNc1hDSXVMM1YwYVd3dmFYTXRibVJoY25KaGVWd2lPakkxTEZ3aUxpOTFkR2xzTDJsekxYUjVjR1ZrTFdGeWNtRjVYQ0k2TWpZc1hDSXVMM1YwYVd3dmNHOXZiRndpT2pJNExGd2lMaTkxZEdsc0wzWmhiSFZsYzF3aU9qTXhmVjBzTXpwYlpuVnVZM1JwYjI0b1ppeHdMSFVwZTNBdVpYaHdiM0owY3oxN1hDSmJiMkpxWldOMElFbHVkRGhCY25KaGVWMWNJam8xTVRJd0xGd2lXMjlpYW1WamRDQkpiblF4TmtGeWNtRjVYVndpT2pVeE1qSXNYQ0piYjJKcVpXTjBJRWx1ZERNeVFYSnlZWGxkWENJNk5URXlOQ3hjSWx0dlltcGxZM1FnVldsdWREaEJjbkpoZVYxY0lqbzFNVEl4TEZ3aVcyOWlhbVZqZENCVmFXNTBPRU5zWVcxd1pXUkJjbkpoZVYxY0lqbzFNVEl4TEZ3aVcyOWlhbVZqZENCVmFXNTBNVFpCY25KaGVWMWNJam8xTVRJekxGeHVYQ0piYjJKcVpXTjBJRlZwYm5Rek1rRnljbUY1WFZ3aU9qVXhNalVzWENKYmIySnFaV04wSUVac2IyRjBNekpCY25KaGVWMWNJam8xTVRJMkxGd2lXMjlpYW1WamRDQkdiRzloZERZMFFYSnlZWGxkWENJNk5URXlNU3hjSWx0dlltcGxZM1FnUVhKeVlYbENkV1ptWlhKZFhDSTZOVEV5TVgxOUxIdDlYU3cwT2x0bWRXNWpkR2x2YmlobUxIQXNkU2w3Y0M1bGVIQnZjblJ6UFh0cGJuUTRPalV4TWpBc2FXNTBNVFk2TlRFeU1peHBiblF6TWpvMU1USTBMSFZwYm5RNE9qVXhNakVzZFdsdWRERTJPalV4TWpNc2RXbHVkRE15T2pVeE1qVXNYQ0ptYkc5aGRGd2lPalV4TWpZc1pteHZZWFF6TWpvMU1USTJmWDBzZTMxZExEVTZXMloxYm1OMGFXOXVLR1lzY0N4MUtYdHdMbVY0Y0c5eWRITTllM0J2YVc1MGN6b3dMSEJ2YVc1ME9qQXNiR2x1WlhNNk1TeHNhVzVsT2pFc1hDSnNhVzVsSUd4dmIzQmNJam95TEZ3aWJHbHVaU0J6ZEhKcGNGd2lPak1zZEhKcFlXNW5iR1Z6T2pRc2RISnBZVzVuYkdVNk5DeGNJblJ5YVdGdVoyeGxJSE4wY21sd1hDSTZOU3hjSW5SeWFXRnVaMnhsSUdaaGJsd2lPalo5ZlN4N2ZWMHNOanBiWm5WdVkzUnBiMjRvWml4d0xIVXBlM0F1Wlhod2IzSjBjejE3WENKemRHRjBhV05jSWpvek5UQTBOQ3hrZVc1aGJXbGpPak0xTURRNExITjBjbVZoYlRvek5UQTBNSDE5TEh0OVhTdzNPbHRtZFc1amRHbHZiaWhtTEhBc2RTbDdablZ1WTNScGIyNGdiQ2hoS1h0eVpYUjFjbTRnUVhKeVlYa3VhWE5CY25KaGVTaGhLWHg4WEc1TktHRXBmSHgwS0dFcGZXWjFibU4wYVc5dUlHc29ZU2w3Y21WMGRYSnVJR0V1YzI5eWRDaG1kVzVqZEdsdmJpaGhMR01wZTNKbGRIVnlibHdpZG1sbGQzQnZjblJjSWowOVBXRS9MVEU2WENKMmFXVjNjRzl5ZEZ3aVBUMDlZejh4T21FOFl6OHRNVG94ZlNsOVpuVnVZM1JwYjI0Z2VDaGhMR01zWWl4cktYdDBhR2x6TG5Sb2FYTkVaWEE5WVR0MGFHbHpMbU52Ym5SbGVIUkVaWEE5WXp0MGFHbHpMbkJ5YjNCRVpYQTlZanQwYUdsekxtRndjR1Z1WkQxcmZXWjFibU4wYVc5dUlISW9ZU2w3Y21WMGRYSnVJR0VtSmlFb1lTNTBhR2x6UkdWd2ZIeGhMbU52Ym5SbGVIUkVaWEI4ZkdFdWNISnZjRVJsY0NsOVpuVnVZM1JwYjI0Z1l5aGhLWHR5WlhSMWNtNGdibVYzSUhnb0lURXNJVEVzSVRFc1lTbDlablZ1WTNScGIyNGdZU2hoTEdNcGUzWmhjaUJpUFdFdWRIbHdaVHR5WlhSMWNtNGdNRDA5UFdJL0tHSTlZUzVrWVhSaExteGxibWQwYUN4dVpYY2dlQ2doTUN3eFBEMWlMREk4UFdJc1l5a3BPalE5UFQxaVB5aGlQV0V1WkdGMFlTeHVaWGNnZUNoaUxuUm9hWE5FWlhBc1lpNWpiMjUwWlhoMFJHVndMR0l1Y0hKdmNFUmxjQ3hqS1NrNmJtVjNJSGdvTXowOVBXSXNNajA5UFdJc01UMDlQV0lzWXlsOWRtRnlJR0k5WmloY0lpNHZkWFJwYkM5amIyUmxaMlZ1WENJcExFWTlaaWhjSWk0dmRYUnBiQzlzYjI5d1hDSXBMRnh1VFQxbUtGd2lMaTkxZEdsc0wybHpMWFI1Y0dWa0xXRnljbUY1WENJcExIUTlaaWhjSWk0dmRYUnBiQzlwY3kxdVpHRnljbUY1WENJcExIazlaaWhjSWk0dmRYUnBiQzlwY3kxaGNuSmhlUzFzYVd0bFhDSXBMR2M5WmloY0lpNHZaSGx1WVcxcFkxd2lLU3hGUFdZb1hDSXVMMk52Ym5OMFlXNTBjeTl3Y21sdGFYUnBkbVZ6TG1wemIyNWNJaWtzUXoxbUtGd2lMaTlqYjI1emRHRnVkSE12WkhSNWNHVnpMbXB6YjI1Y0lpa3NUajFiWENKNFhDSXNYQ0o1WENJc1hDSjZYQ0lzWENKM1hDSmRMRzQ5WENKaWJHVnVaQzVtZFc1aklHSnNaVzVrTG1WeGRXRjBhVzl1SUhOMFpXNWphV3d1Wm5WdVl5QnpkR1Z1WTJsc0xtOXdSbkp2Ym5RZ2MzUmxibU5wYkM1dmNFSmhZMnNnYzJGdGNHeGxMbU52ZG1WeVlXZGxJSFpwWlhkd2IzSjBJSE5qYVhOemIzSXVZbTk0SUhCdmJIbG5iMjVQWm1aelpYUXViMlptYzJWMFhDSXVjM0JzYVhRb1hDSWdYQ0lwTEcwOWV6QTZNQ3d4T2pFc2VtVnliem93TEc5dVpUb3hMRndpYzNKaklHTnZiRzl5WENJNk56WTRMRndpYjI1bElHMXBiblZ6SUhOeVl5QmpiMnh2Y2x3aU9qYzJPU3hjSW5OeVl5QmhiSEJvWVZ3aU9qYzNNQ3hjSW05dVpTQnRhVzUxY3lCemNtTWdZV3h3YUdGY0lqbzNOekVzWENKa2MzUWdZMjlzYjNKY0lqbzNOelFzWENKdmJtVWdiV2x1ZFhNZ1pITjBJR052Ykc5eVhDSTZOemMxTEZ3aVpITjBJR0ZzY0doaFhDSTZOemN5TEZ3aWIyNWxJRzFwYm5WeklHUnpkQ0JoYkhCb1lWd2lPamMzTXl4Y2Jsd2lZMjl1YzNSaGJuUWdZMjlzYjNKY0lqb3pNamMyT1N4Y0ltOXVaU0J0YVc1MWN5QmpiMjV6ZEdGdWRDQmpiMnh2Y2x3aU9qTXlOemN3TEZ3aVkyOXVjM1JoYm5RZ1lXeHdhR0ZjSWpvek1qYzNNU3hjSW05dVpTQnRhVzUxY3lCamIyNXpkR0Z1ZENCaGJIQm9ZVndpT2pNeU56Y3lMRndpYzNKaklHRnNjR2hoSUhOaGRIVnlZWFJsWENJNk56YzJmU3hDUFh0dVpYWmxjam8xTVRJc2JHVnpjem8xTVRNc1hDSThYQ0k2TlRFekxHVnhkV0ZzT2pVeE5DeGNJajFjSWpvMU1UUXNYQ0k5UFZ3aU9qVXhOQ3hjSWowOVBWd2lPalV4TkN4c1pYRjFZV3c2TlRFMUxGd2lQRDFjSWpvMU1UVXNaM0psWVhSbGNqbzFNVFlzWENJK1hDSTZOVEUyTEc1dmRHVnhkV0ZzT2pVeE55eGNJaUU5WENJNk5URTNMRndpSVQwOVhDSTZOVEUzTEdkbGNYVmhiRG8xTVRnc1hDSStQVndpT2pVeE9DeGhiSGRoZVhNNk5URTVmU3haUFhzd09qQXNlbVZ5Ynpvd0xHdGxaWEE2TnpZNE1DeHlaWEJzWVdObE9qYzJPREVzYVc1amNtVnRaVzUwT2pjMk9ESXNaR1ZqY21WdFpXNTBPamMyT0RNc1hDSnBibU55WlcxbGJuUWdkM0poY0Z3aU9qTTBNRFUxTEZ3aVpHVmpjbVZ0Wlc1MElIZHlZWEJjSWpvek5EQTFOaXhwYm5abGNuUTZOVE00Tm4wc1REMTdZM2M2TWpNd05DeGpZM2M2TWpNd05YMHNTRDF1WlhjZ2VDZ2hNU3doTVN3aE1TeG1kVzVqZEdsdmJpZ3BlMzBwTzNBdVpYaHdiM0owY3oxbWRXNWpkR2x2Ymlob0xGeHVaaXgwTEhBc1RTeDFMRm9zUkN4TExFRmhMSFpoTEhFc1V5eHRZU3huWVNsN1puVnVZM1JwYjI0Z1Z5aGtLWHR5WlhSMWNtNGdaQzV5WlhCc1lXTmxLRndpTGx3aUxGd2lYMXdpS1gxbWRXNWpkR2x2YmlCU0tHUXNZU3hqS1h0MllYSWdZajFYS0dRcE8zY3VjSFZ6YUNoa0tUdDZXMkpkUFdWYllsMDlJU0ZqTzNkaFcySmRQV0Y5Wm5WdVkzUnBiMjRnUnloa0xHRXNZeWw3ZG1GeUlHSTlWeWhrS1R0M0xuQjFjMmdvWkNrN1FYSnlZWGt1YVhOQmNuSmhlU2hqS1Q4b1pWdGlYVDFqTG5Oc2FXTmxLQ2tzZWx0aVhUMWpMbk5zYVdObEtDa3BPbVZiWWwwOWVsdGlYVDFqTzNoaFcySmRQV0Y5Wm5WdVkzUnBiMjRnWW1Fb0tYdDJZWElnWkQxaUtDa3NZVDFrTG14cGJtc3NZejFrTG1kc2IySmhiRHRrTG1sa1BWSmhLeXM3WkM1aVlYUmphRWxrUFZ3aU1Gd2lPM1poY2lCb1BXRW9VV0VwTEVFOVpDNXphR0Z5WldROWUzQnliM0J6T2x3aVlUQmNJbjA3VDJKcVpXTjBMbXRsZVhNb1VXRXBMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9aQ2w3UVZ0a1hUMWpMbVJsWmlob0xGd2lMbHdpTEdRcGZTazdkbUZ5SUVvOVpDNXVaWGgwUFh0OUxGQTlaQzVqZFhKeVpXNTBQWHQ5TzA5aWFtVmpkQzVyWlhsektIaGhLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR1FwZTBGeWNtRjVMbWx6UVhKeVlYa29aVnRrWFNrbUppaEtXMlJkUFdNdVpHVm1LRUV1Ym1WNGRDeGNibHdpTGx3aUxHUXBMRkJiWkYwOVl5NWtaV1lvUVM1amRYSnlaVzUwTEZ3aUxsd2lMR1FwS1gwcE8zWmhjaUJUWVQxa0xtTnZibk4wWVc1MGN6MTdmVHRQWW1wbFkzUXVhMlY1Y3loTllTa3VabTl5UldGamFDaG1kVzVqZEdsdmJpaGtLWHRUWVZ0a1hUMWpMbVJsWmloS1UwOU9Mbk4wY21sdVoybG1lU2hOWVZ0a1hTa3BmU2s3WkM1cGJuWnZhMlU5Wm5WdVkzUnBiMjRvWlN4SktYdHpkMmwwWTJnb1NTNTBlWEJsS1h0allYTmxJREE2ZG1GeUlHTTlXMXdpZEdocGMxd2lMRUV1WTI5dWRHVjRkQ3hCTG5CeWIzQnpMR1F1WW1GMFkyaEpaRjA3Y21WMGRYSnVJR1V1WkdWbUtHRW9TUzVrWVhSaEtTeGNJaTVqWVd4c0tGd2lMR011YzJ4cFkyVW9NQ3hOWVhSb0xtMWhlQ2hKTG1SaGRHRXViR1Z1WjNSb0t6RXNOQ2twTEZ3aUtWd2lLVHRqWVhObElERTZjbVYwZFhKdUlHVXVaR1ZtS0VFdWNISnZjSE1zU1M1a1lYUmhLVHRqWVhObElESTZjbVYwZFhKdUlHVXVaR1ZtS0VFdVkyOXVkR1Y0ZEN4SkxtUmhkR0VwTzJOaGMyVWdNenB5WlhSMWNtNGdaUzVrWldZb1hDSjBhR2x6WENJc1NTNWtZWFJoS1R0allYTmxJRFE2Y21WMGRYSnVJRWt1WkdGMFlTNWhjSEJsYm1Rb1pDeGxLU3hKTG1SaGRHRXVjbVZtZlgwN1pDNWhkSFJ5YVdKRFlXTm9aVDE3ZlR0MllYSWdTVDE3ZlR0a0xuTmpiM0JsUVhSMGNtbGlQV1oxYm1OMGFXOXVLR1FwZTJROVhHNW1MbWxrS0dRcE8ybG1LR1FnYVc0Z1NTbHlaWFIxY200Z1NWdGtYVHQyWVhJZ1pUMUJZUzV6WTI5d1pWdGtYVHRsZkh3b1pUMUJZUzV6WTI5d1pWdGtYVDF1WlhjZ1FtRXBPM0psZEhWeWJpQkpXMlJkUFdFb1pTbDlPM0psZEhWeWJpQmtmV1oxYm1OMGFXOXVJRzVoS0dRcGUzWmhjaUJsUFdSYlhDSnpkR0YwYVdOY0lsMDdaRDFrTG1SNWJtRnRhV003ZG1GeUlHSTdhV1lvWENKd2NtOW1hV3hsWENKcGJpQmxLWHQyWVhJZ2FEMGhJV1V1Y0hKdlptbHNaVHRpUFdNb1puVnVZM1JwYjI0b1pDeGxLWHR5WlhSMWNtNGdhSDBwTzJJdVpXNWhZbXhsUFdoOVpXeHpaU0JwWmloY0luQnliMlpwYkdWY0ltbHVJR1FwZTNaaGNpQkJQV1F1Y0hKdlptbHNaVHRpUFdFb1FTeG1kVzVqZEdsdmJpaGtMR1VwZTNKbGRIVnliaUJrTG1sdWRtOXJaU2hsTEVFcGZTbDljbVYwZFhKdUlHSjlablZ1WTNScGIyNGdlV0VvWkN4bEtYdDJZWElnWWoxa1cxd2ljM1JoZEdsalhDSmRMR2c5WkM1a2VXNWhiV2xqTzJsbUtGd2labkpoYldWaWRXWm1aWEpjSW1sdUlHSXBlM1poY2lCQlBXSXVabkpoYldWaWRXWm1aWEk3Y21WMGRYSnVJRUUvS0VFOVJDNW5aWFJHY21GdFpXSjFabVpsY2loQktTeGpLR1oxYm1OMGFXOXVLR1FzWlNsN2RtRnlJR0U5WkM1c2FXNXJLRUVwTEhZOVpDNXphR0Z5WldRN1pTNXpaWFFvZGk1bWNtRnRaV0oxWm1abGNpeGNibHdpTG01bGVIUmNJaXhoS1R0MlBYWXVZMjl1ZEdWNGREdGxMbk5sZENoMkxGd2lMbVp5WVcxbFluVm1abVZ5VjJsa2RHaGNJaXhoSzF3aUxuZHBaSFJvWENJcE8yVXVjMlYwS0hZc1hDSXVabkpoYldWaWRXWm1aWEpJWldsbmFIUmNJaXhoSzF3aUxtaGxhV2RvZEZ3aUtUdHlaWFIxY200Z1lYMHBLVHBqS0daMWJtTjBhVzl1S0dRc1pTbDdkbUZ5SUdFOVpDNXphR0Z5WldRN1pTNXpaWFFvWVM1bWNtRnRaV0oxWm1abGNpeGNJaTV1WlhoMFhDSXNYQ0p1ZFd4c1hDSXBPMkU5WVM1amIyNTBaWGgwTzJVdWMyVjBLR0VzWENJdVpuSmhiV1ZpZFdabVpYSlhhV1IwYUZ3aUxHRXJYQ0l1WkhKaGQybHVaMEoxWm1abGNsZHBaSFJvWENJcE8yVXVjMlYwS0dFc1hDSXVabkpoYldWaWRXWm1aWEpJWldsbmFIUmNJaXhoSzF3aUxtUnlZWGRwYm1kQ2RXWm1aWEpJWldsbmFIUmNJaWs3Y21WMGRYSnVYQ0p1ZFd4c1hDSjlLWDFwWmloY0ltWnlZVzFsWW5WbVptVnlYQ0pwYmlCb0tYdDJZWElnU2oxb0xtWnlZVzFsWW5WbVptVnlPM0psZEhWeWJpQmhLRW9zWm5WdVkzUnBiMjRvWkN4bEtYdDJZWElnWVQxa0xtbHVkbTlyWlNobExFb3BMSFk5WkM1emFHRnlaV1FzWXoxMkxtWnlZVzFsWW5WbVptVnlMR0U5WlM1a1pXWW9ZeXhjSWk1blpYUkdjbUZ0WldKMVptWmxjaWhjSWl4aExGd2lLVndpS1R0bExuTmxkQ2hqTEZ3aUxtNWxlSFJjSWl4aEtUdDJQWFl1WTI5dWRHVjRkRHRsTG5ObGRDaDJMRnh1WENJdVpuSmhiV1ZpZFdabVpYSlhhV1IwYUZ3aUxHRXJYQ0kvWENJcllTdGNJaTUzYVdSMGFEcGNJaXQySzF3aUxtUnlZWGRwYm1kQ2RXWm1aWEpYYVdSMGFGd2lLVHRsTG5ObGRDaDJMRndpTG1aeVlXMWxZblZtWm1WeVNHVnBaMmgwWENJc1lTdGNJajljSWl0aEsxd2lMbWhsYVdkb2REcGNJaXQySzF3aUxtUnlZWGRwYm1kQ2RXWm1aWEpJWldsbmFIUmNJaWs3Y21WMGRYSnVJR0Y5S1gxeVpYUjFjbTRnYm5Wc2JIMW1kVzVqZEdsdmJpQlZLR1FzWlN4aktYdG1kVzVqZEdsdmJpQmlLR1FwZTJsbUtHUWdhVzRnYUNsN2RtRnlJRWs5YUZ0a1hUdGtQU0V3TzNaaGNpQmpQVWt1ZUh3d0xIRmhQVWt1ZVh3d0xGQXNZV0U3WENKM2FXUjBhRndpYVc0Z1NUOVFQVWt1ZDJsa2RHaDhNRHBrUFNFeE8xd2lhR1ZwWjJoMFhDSnBiaUJKUDJGaFBVa3VhR1ZwWjJoMGZEQTZaRDBoTVR0eVpYUjFjbTRnYm1WM0lIZ29JV1FtSm1VbUptVXVkR2hwYzBSbGNDd2haQ1ltWlNZbVpTNWpiMjUwWlhoMFJHVndMQ0ZrSmlabEppWmxMbkJ5YjNCRVpYQXNablZ1WTNScGIyNG9aQ3hsS1h0MllYSWdZVDFrTG5Ob1lYSmxaQzVqYjI1MFpYaDBMSFk5VUR0Y0luZHBaSFJvWENKcGJpQkpmSHdvZGoxbExtUmxaaWhoTEZ3aUxsd2lMRndpWm5KaGJXVmlkV1ptWlhKWGFXUjBhRndpTEZ3aUxWd2lMR01wS1R0MllYSWdZajFoWVR0Y0ltaGxhV2RvZEZ3aWFXNGdTWHg4S0dJOVpTNWtaV1lvWVN4Y2Jsd2lMbHdpTEZ3aVpuSmhiV1ZpZFdabVpYSklaV2xuYUhSY0lpeGNJaTFjSWl4eFlTa3BPM0psZEhWeWJsdGpMSEZoTEhZc1lsMTlLWDFwWmloa0lHbHVJRW9wZTNaaGNpQjNQVXBiWkYwN1pEMWhLSGNzWm5WdVkzUnBiMjRvWkN4bEtYdDJZWElnWVQxa0xtbHVkbTlyWlNobExIY3BMRWs5WkM1emFHRnlaV1F1WTI5dWRHVjRkQ3hqUFdVdVpHVm1LR0VzWENJdWVId3dYQ0lwTEhZOVpTNWtaV1lvWVN4Y0lpNTVmREJjSWlrc2NXRTlaUzVrWldZb0oxd2lkMmxrZEdoY0lpQnBiaUFuTEdFc1hDSS9YQ0lzWVN4Y0lpNTNhV1IwYUh3d09sd2lMRndpS0Z3aUxFa3NYQ0l1WENJc1hDSm1jbUZ0WldKMVptWmxjbGRwWkhSb1hDSXNYQ0l0WENJc1l5eGNJaWxjSWlrc1lUMWxMbVJsWmlnblhDSm9aV2xuYUhSY0lpQnBiaUFuTEdFc1hDSS9YQ0lzWVN4Y0lpNW9aV2xuYUhSOE1EcGNJaXhjSWloY0lpeEpMRndpTGx3aUxGd2labkpoYldWaWRXWm1aWEpJWldsbmFIUmNJaXhjSWkxY0lpeDJMRndpS1Z3aUtUdHlaWFIxY201Yll5eDJMSEZoTEdGZGZTazdaU1ltS0dRdWRHaHBjMFJsY0Qxa0xuUm9hWE5FWlhCOGZHVXVkR2hwYzBSbGNDeGtMbU52Ym5SbGVIUkVaWEE5WkM1amIyNTBaWGgwUkdWd2ZIeGxMbU52Ym5SbGVIUkVaWEFzWkM1d2NtOXdSR1Z3UFdRdWNISnZjRVJsY0h4OFpTNXdjbTl3UkdWd0tUdHlaWFIxY200Z1pIMXlaWFIxY200Z1pUOXVaWGNnZUNobExuUm9hWE5FWlhBc1pTNWpiMjUwWlhoMFJHVndMRnh1WlM1d2NtOXdSR1Z3TEdaMWJtTjBhVzl1S0dRc1pTbDdkbUZ5SUdFOVpDNXphR0Z5WldRdVkyOXVkR1Y0ZER0eVpYUjFjbTViTUN3d0xHVXVaR1ZtS0dFc1hDSXVYQ0lzWENKbWNtRnRaV0oxWm1abGNsZHBaSFJvWENJcExHVXVaR1ZtS0dFc1hDSXVYQ0lzWENKbWNtRnRaV0oxWm1abGNraGxhV2RvZEZ3aUtWMTlLVHB1ZFd4c2ZYWmhjaUJvUFdSYlhDSnpkR0YwYVdOY0lsMHNTajFrTG1SNWJtRnRhV003YVdZb1pEMWlLRndpZG1sbGQzQnZjblJjSWlrcGUzWmhjaUJRUFdRN1pEMXVaWGNnZUNoa0xuUm9hWE5FWlhBc1pDNWpiMjUwWlhoMFJHVndMR1F1Y0hKdmNFUmxjQ3htZFc1amRHbHZiaWhrTEdVcGUzWmhjaUJoUFZBdVlYQndaVzVrS0dRc1pTa3NZejFrTG5Ob1lYSmxaQzVqYjI1MFpYaDBPMlV1YzJWMEtHTXNYQ0l1ZG1sbGQzQnZjblJYYVdSMGFGd2lMR0ZiTWwwcE8yVXVjMlYwS0dNc1hDSXVkbWxsZDNCdmNuUklaV2xuYUhSY0lpeGhXek5kS1R0eVpYUjFjbTRnWVgwcGZYSmxkSFZ5Ym50MmFXVjNjRzl5ZERwa0xITmphWE56YjNKZlltOTRPbUlvWENKelkybHpjMjl5TG1KdmVGd2lLWDE5Wm5WdVkzUnBiMjRnYVdFb1pDbDdablZ1WTNScGIyNGdaU2hrS1h0cFppaGtJR2x1SUdJcGUzWmhjaUJKUFdZdWFXUW9ZbHRrWFNrN1pEMWpLR1oxYm1OMGFXOXVLQ2w3Y21WMGRYSnVJRWw5S1R0a0xtbGtQVWs3Y21WMGRYSnVJR1I5YVdZb1pDQnBibHh1YUNsN2RtRnlJSFk5YUZ0a1hUdHlaWFIxY200Z1lTaDJMR1oxYm1OMGFXOXVLR1FzWlNsN2RtRnlJR0U5WkM1cGJuWnZhMlVvWlN4MktUdHlaWFIxY200Z1pTNWtaV1lvWkM1emFHRnlaV1F1YzNSeWFXNW5jeXhjSWk1cFpDaGNJaXhoTEZ3aUtWd2lLWDBwZlhKbGRIVnliaUJ1ZFd4c2ZYWmhjaUJpUFdSYlhDSnpkR0YwYVdOY0lsMHNhRDFrTG1SNWJtRnRhV01zUVQxbEtGd2labkpoWjF3aUtTeEtQV1VvWENKMlpYSjBYQ0lwTEZBOWJuVnNiRHR5S0VFcEppWnlLRW9wUHloUVBYWmhMbkJ5YjJkeVlXMG9TaTVwWkN4QkxtbGtLU3hrUFdNb1puVnVZM1JwYjI0b1pDeGxLWHR5WlhSMWNtNGdaQzVzYVc1cktGQXBmU2twT21ROWJtVjNJSGdvUVNZbVFTNTBhR2x6UkdWd2ZIeEtKaVpLTG5Sb2FYTkVaWEFzUVNZbVFTNWpiMjUwWlhoMFJHVndmSHhLSmlaS0xtTnZiblJsZUhSRVpYQXNRU1ltUVM1d2NtOXdSR1Z3Zkh4S0ppWktMbkJ5YjNCRVpYQXNablZ1WTNScGIyNG9aQ3hsS1h0MllYSWdZVDFrTG5Ob1lYSmxaQzV6YUdGa1pYSXNZenRqUFVFL1FTNWhjSEJsYm1Rb1pDeGxLVHBsTG1SbFppaGhMRndpTGx3aUxGd2labkpoWjF3aUtUdDJZWElnZGp0MlBVby9TaTVoY0hCbGJtUW9aQ3hsS1RwbExtUmxaaWhoTEZ3aUxsd2lMRndpZG1WeWRGd2lLVHR5WlhSMWNtNGdaUzVrWldZb1lTdGNJaTV3Y205bmNtRnRLRndpSzNZclhDSXNYQ0lyWXl0Y2Jsd2lLVndpS1gwcE8zSmxkSFZ5Ym50bWNtRm5Pa0VzZG1WeWREcEtMSEJ5YjJkV1lYSTZaQ3h3Y205bmNtRnRPbEI5ZldaMWJtTjBhVzl1SUd0aEtHUXNaU2w3Wm5WdVkzUnBiMjRnWWloa0xHVXBlMmxtS0dRZ2FXNGdhQ2w3ZG1GeUlIWTlhRnRrWFh3d08zSmxkSFZ5YmlCaktHWjFibU4wYVc5dUtHUXNZU2w3WlNZbUtHUXVUMFpHVTBWVVBYWXBPM0psZEhWeWJpQjJmU2w5YVdZb1pDQnBiaUJCS1h0MllYSWdjV0U5UVZ0a1hUdHlaWFIxY200Z1lTaHhZU3htZFc1amRHbHZiaWhrTEdFcGUzWmhjaUJqUFdRdWFXNTJiMnRsS0dFc2NXRXBPMlVtSmloa0xrOUdSbE5GVkQxaktUdHlaWFIxY200Z1kzMHBmWEpsZEhWeWJpQmxKaVpLUDJNb1puVnVZM1JwYjI0b1pDeGxLWHRrTGs5R1JsTkZWRDFjSWpCY0lqdHlaWFIxY200Z01IMHBPbTUxYkd4OWRtRnlJR2c5WkZ0Y0luTjBZWFJwWTF3aVhTeEJQV1F1WkhsdVlXMXBZeXhLUFdaMWJtTjBhVzl1S0NsN2FXWW9YQ0psYkdWdFpXNTBjMXdpYVc0Z2FDbDdkbUZ5SUdROWFDNWxiR1Z0Wlc1MGN6dHNLR1FwUDJROWRTNW5aWFJGYkdWdFpXNTBjeWgxTG1OeVpXRjBaU2hrTENFd0tTazZaQ1ltS0dROWRTNW5aWFJGYkdWdFpXNTBjeWhrS1NrN2RtRnlJR1U5WXlobWRXNWpkR2x2YmlobExHRXBlMmxtS0dRcGUzWmhjaUJqUFdVdWJHbHVheWhrS1R0eVpYUjFjbTRnWlM1RlRFVk5SVTVVVXoxY2JtTjljbVYwZFhKdUlHVXVSVXhGVFVWT1ZGTTliblZzYkgwcE8yVXVkbUZzZFdVOVpEdHlaWFIxY200Z1pYMXBaaWhjSW1Wc1pXMWxiblJ6WENKcGJpQkJLWHQyWVhJZ2RqMUJMbVZzWlcxbGJuUnpPM0psZEhWeWJpQmhLSFlzWm5WdVkzUnBiMjRvWkN4bEtYdDJZWElnWVQxa0xuTm9ZWEpsWkN4alBXRXVhWE5DZFdabVpYSkJjbWR6TEdFOVlTNWxiR1Z0Wlc1MGN5eEpQV1F1YVc1MmIydGxLR1VzZGlrc1lqMWxMbVJsWmloY0ltNTFiR3hjSWlrc1l6MWxMbVJsWmloakxGd2lLRndpTEVrc1hDSXBYQ0lwTEVrOVpDNWpiMjVrS0dNcExuUm9aVzRvWWl4Y0lqMWNJaXhoTEZ3aUxtTnlaV0YwWlZOMGNtVmhiU2hjSWl4SkxGd2lLVHRjSWlsYlhDSmxiSE5sWENKZEtHSXNYQ0k5WENJc1lTeGNJaTVuWlhSRmJHVnRaVzUwY3loY0lpeEpMRndpS1R0Y0lpazdaUzVsYm5SeWVTaEpLVHRsTG1WNGFYUW9aQzVqYjI1a0tHTXBMblJvWlc0b1lTeGNJaTVrWlhOMGNtOTVVM1J5WldGdEtGd2lMR0lzWENJcE8xd2lLU2s3Y21WMGRYSnVJR1F1UlV4RlRVVk9WRk05WW4wcGZYSmxkSFZ5YmlCdWRXeHNmU2dwTEZBOVlpaGNJbTltWm5ObGRGd2lMQ0V3S1R0eVpYUjFjbTU3Wld4bGJXVnVkSE02U2l4d2NtbHRhWFJwZG1VNlpuVnVZM1JwYjI0b0tYdHBaaWhjSW5CeWFXMXBkR2wyWlZ3aWFXNGdhQ2w3ZG1GeUlHUTlhQzV3Y21sdGFYUnBkbVU3Y21WMGRYSnVJR01vWm5WdVkzUnBiMjRvWlN4Y2JtRXBlM0psZEhWeWJpQkZXMlJkZlNsOWFXWW9YQ0p3Y21sdGFYUnBkbVZjSW1sdUlFRXBlM1poY2lCbFBVRXVjSEpwYldsMGFYWmxPM0psZEhWeWJpQmhLR1VzWm5WdVkzUnBiMjRvWkN4aEtYdDJZWElnWXoxa0xtTnZibk4wWVc1MGN5NXdjbWx0Vkhsd1pYTXNkajFrTG1sdWRtOXJaU2hoTEdVcE8zSmxkSFZ5YmlCaExtUmxaaWhqTEZ3aVcxd2lMSFlzWENKZFhDSXBmU2w5Y21WMGRYSnVJRW8vY2loS0tUOUtMblpoYkhWbFAyTW9ablZ1WTNScGIyNG9aQ3hsS1h0eVpYUjFjbTRnWlM1a1pXWW9aQzVGVEVWTlJVNVVVeXhjSWk1d2NtbHRWSGx3WlZ3aUtYMHBPbU1vWm5WdVkzUnBiMjRvS1h0eVpYUjFjbTRnTkgwcE9tNWxkeUI0S0VvdWRHaHBjMFJsY0N4S0xtTnZiblJsZUhSRVpYQXNTaTV3Y205d1JHVndMR1oxYm1OMGFXOXVLR1FzWlNsN2RtRnlJR0U5WkM1RlRFVk5SVTVVVXp0eVpYUjFjbTRnWlM1a1pXWW9ZU3hjSWo5Y0lpeGhMRndpTG5CeWFXMVVlWEJsT2x3aUxEUXBmU2s2Ym5Wc2JIMG9LU3hqYjNWdWREcG1kVzVqZEdsdmJpZ3BlMmxtS0Z3aVkyOTFiblJjSW1sdUlHZ3BlM1poY2lCa1BXZ3VZMjkxYm5SOE1EdHlaWFIxY200Z1l5aG1kVzVqZEdsdmJpZ3BlM0psZEhWeWJpQmtmU2w5YVdZb1hDSmpiM1Z1ZEZ3aWFXNGdRU2w3ZG1GeUlHVTlRUzVqYjNWdWREdHlaWFIxY200Z1lTaGxMR1oxYm1OMGFXOXVLR1FzWEc1aEtYdHlaWFIxY200Z1pDNXBiblp2YTJVb1lTeGxLWDBwZlhKbGRIVnliaUJLUDNJb1Npay9TajlRUDI1bGR5QjRLRkF1ZEdocGMwUmxjQ3hRTG1OdmJuUmxlSFJFWlhBc1VDNXdjbTl3UkdWd0xHWjFibU4wYVc5dUtHUXNaU2w3Y21WMGRYSnVJR1V1WkdWbUtHUXVSVXhGVFVWT1ZGTXNYQ0l1ZG1WeWRFTnZkVzUwTFZ3aUxHUXVUMFpHVTBWVUtYMHBPbU1vWm5WdVkzUnBiMjRvWkN4bEtYdHlaWFIxY200Z1pTNWtaV1lvWkM1RlRFVk5SVTVVVXl4Y0lpNTJaWEowUTI5MWJuUmNJaWw5S1RwaktHWjFibU4wYVc5dUtDbDdjbVYwZFhKdUxURjlLVHB1WlhjZ2VDaEtMblJvYVhORVpYQjhmRkF1ZEdocGMwUmxjQ3hLTG1OdmJuUmxlSFJFWlhCOGZGQXVZMjl1ZEdWNGRFUmxjQ3hLTG5CeWIzQkVaWEI4ZkZBdWNISnZjRVJsY0N4bWRXNWpkR2x2Ymloa0xHVXBlM1poY2lCaFBXUXVSVXhGVFVWT1ZGTTdjbVYwZFhKdUlHUXVUMFpHVTBWVVAyVXVaR1ZtS0dFc1hDSS9YQ0lzWVN4Y0lpNTJaWEowUTI5MWJuUXRYQ0lzWkM1UFJrWlRSVlFzWENJNkxURmNJaWs2WlM1a1pXWW9ZU3hjSWo5Y0lpeGhMRndpTG5abGNuUkRiM1Z1ZERvdE1Wd2lLWDBwT201MWJHeDlLQ2tzYVc1emRHRnVZMlZ6T21Jb1hDSnBibk4wWVc1alpYTmNJaXdoTVNrc2IyWm1jMlYwT2xCOWZXWjFibU4wYVc5dUlISmhLR1FzWlNsN2RtRnlJR0k5WkZ0Y0luTjBZWFJwWTF3aVhTeGNibWc5WkM1a2VXNWhiV2xqTEVFOWUzMDdkeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR1FwZTJaMWJtTjBhVzl1SUdVb1NTeDNLWHRwWmloa0lHbHVJR0lwZTNaaGNpQnhZVDFKS0dKYlpGMHBPMEZiZGwwOVl5aG1kVzVqZEdsdmJpZ3BlM0psZEhWeWJpQnhZWDBwZldWc2MyVWdhV1lvWkNCcGJpQm9LWHQyWVhJZ1VEMW9XMlJkTzBGYmRsMDlZU2hRTEdaMWJtTjBhVzl1S0dRc1pTbDdjbVYwZFhKdUlIY29aQ3hsTEdRdWFXNTJiMnRsS0dVc1VDa3BmU2w5ZlhaaGNpQjJQVmNvWkNrN2MzZHBkR05vS0dRcGUyTmhjMlVnWENKamRXeHNMbVZ1WVdKc1pWd2lPbU5oYzJVZ1hDSmliR1Z1WkM1bGJtRmliR1ZjSWpwallYTmxJRndpWkdsMGFHVnlYQ0k2WTJGelpTQmNJbk4wWlc1amFXd3VaVzVoWW14bFhDSTZZMkZ6WlNCY0ltUmxjSFJvTG1WdVlXSnNaVndpT21OaGMyVWdYQ0p6WTJsemMyOXlMbVZ1WVdKc1pWd2lPbU5oYzJVZ1hDSndiMng1WjI5dVQyWm1jMlYwTG1WdVlXSnNaVndpT21OaGMyVWdYQ0p6WVcxd2JHVXVZV3h3YUdGY0lqcGpZWE5sSUZ3aWMyRnRjR3hsTG1WdVlXSnNaVndpT21OaGMyVWdYQ0prWlhCMGFDNXRZWE5yWENJNmNtVjBkWEp1SUdVb1puVnVZM1JwYjI0b1pDbDdjbVYwZFhKdUlHUjlMR1oxYm1OMGFXOXVLR1FzWlN4aEtYdHlaWFIxY200Z1lYMHBPMk5oYzJVZ1hDSmtaWEIwYUM1bWRXNWpYQ0k2Y21WMGRYSnVJR1VvWm5WdVkzUnBiMjRvWkNsN2NtVjBkWEp1SUVKYlpGMTlMRnh1Wm5WdVkzUnBiMjRvWkN4bExHRXBlM0psZEhWeWJpQmxMbVJsWmloa0xtTnZibk4wWVc1MGN5NWpiMjF3WVhKbFJuVnVZM01zWENKYlhDSXNZU3hjSWwxY0lpbDlLVHRqWVhObElGd2laR1Z3ZEdndWNtRnVaMlZjSWpweVpYUjFjbTRnWlNobWRXNWpkR2x2Ymloa0tYdHlaWFIxY200Z1pIMHNablZ1WTNScGIyNG9aQ3hsTEdFcGUyUTlaUzVrWldZb1hDSXJYQ0lzWVN4Y0lsc3dYVndpS1R0bFBXVXVaR1ZtS0Z3aUsxd2lMR0VzWENKYk1WMWNJaWs3Y21WMGRYSnVXMlFzWlYxOUtUdGpZWE5sSUZ3aVlteGxibVF1Wm5WdVkxd2lPbkpsZEhWeWJpQmxLR1oxYm1OMGFXOXVLR1FwZTNKbGRIVnlibHR0VzF3aWMzSmpVa2RDWENKcGJpQmtQMlF1YzNKalVrZENPbVF1YzNKalhTeHRXMXdpWkhOMFVrZENYQ0pwYmlCa1AyUXVaSE4wVWtkQ09tUXVaSE4wWFN4dFcxd2ljM0pqUVd4d2FHRmNJbWx1SUdRL1pDNXpjbU5CYkhCb1lUcGtMbk55WTEwc2JWdGNJbVJ6ZEVGc2NHaGhYQ0pwYmlCa1AyUXVaSE4wUVd4d2FHRTZaQzVrYzNSZFhYMHNablZ1WTNScGIyNG9aQ3hsTEdFcGUyWjFibU4wYVc5dUlHTW9aQ3gyS1h0eVpYUjFjbTRnWlM1a1pXWW9KMXdpSnl4a0xIWXNKMXdpSUdsdUlDY3NZU3hjSWo5Y0lpeGhMRndpTGx3aUxHUXNkaXhjSWpwY0lpeGhMRndpTGx3aUxHUXBmV1E5WkM1amIyNXpkR0Z1ZEhNdVlteGxibVJHZFc1amN6dDJZWElnZGoxaktGd2ljM0pqWENJc1hDSlNSMEpjSWlrc1hHNWlQV01vWENKa2MzUmNJaXhjSWxKSFFsd2lLU3gyUFdVdVpHVm1LR1FzWENKYlhDSXNkaXhjSWwxY0lpa3NhRDFsTG1SbFppaGtMRndpVzF3aUxHTW9YQ0p6Y21OY0lpeGNJa0ZzY0doaFhDSXBMRndpWFZ3aUtTeGlQV1V1WkdWbUtHUXNYQ0piWENJc1lpeGNJbDFjSWlrN1pEMWxMbVJsWmloa0xGd2lXMXdpTEdNb1hDSmtjM1JjSWl4Y0lrRnNjR2hoWENJcExGd2lYVndpS1R0eVpYUjFjbTViZGl4aUxHZ3NaRjE5S1R0allYTmxJRndpWW14bGJtUXVaWEYxWVhScGIyNWNJanB5WlhSMWNtNGdaU2htZFc1amRHbHZiaWhrS1h0cFppaGNJbk4wY21sdVoxd2lQVDA5ZEhsd1pXOW1JR1FwY21WMGRYSnVXMk5oVzJSZExHTmhXMlJkWFR0cFppaGNJbTlpYW1WamRGd2lQVDA5ZEhsd1pXOW1JR1FwY21WMGRYSnVXMk5oVzJRdWNtZGlYU3hqWVZ0a0xtRnNjR2hoWFYxOUxHWjFibU4wYVc5dUtHUXNaU3hoS1h0MllYSWdZejFrTG1OdmJuTjBZVzUwY3k1aWJHVnVaRVZ4ZFdGMGFXOXVjeXgyUFdVdVpHVm1LQ2tzWWoxbExtUmxaaWdwTzJROVpDNWpiMjVrS0Z3aWRIbHdaVzltSUZ3aUxHRXNKejA5UFZ3aWMzUnlhVzVuWENJbktUdGtMblJvWlc0b2RpeGNJajFjSWl4aUxGd2lQVndpTEdNc1hDSmJYQ0lzWVN4Y0lsMDdYQ0lwTzJSYlhDSmxiSE5sWENKZEtIWXNYQ0k5WENJc1l5eGNJbHRjSWl4aExGd2lMbkpuWWwwN1hDSXNZaXhjSWoxY0lpeGpMRndpVzF3aUxHRXNYQ0l1WVd4d2FHRmRPMXdpS1R0bEtHUXBPM0psZEhWeWJsdDJMR0pkZlNrN1hHNWpZWE5sSUZ3aVlteGxibVF1WTI5c2IzSmNJanB5WlhSMWNtNGdaU2htZFc1amRHbHZiaWhrS1h0eVpYUjFjbTRnUmlnMExHWjFibU4wYVc5dUtHVXBlM0psZEhWeWJpdGtXMlZkZlNsOUxHWjFibU4wYVc5dUtHUXNaU3hoS1h0eVpYUjFjbTRnUmlnMExHWjFibU4wYVc5dUtHUXBlM0psZEhWeWJpQmxMbVJsWmloY0lpdGNJaXhoTEZ3aVcxd2lMR1FzWENKZFhDSXBmU2w5S1R0allYTmxJRndpYzNSbGJtTnBiQzV0WVhOclhDSTZjbVYwZFhKdUlHVW9ablZ1WTNScGIyNG9aQ2w3Y21WMGRYSnVJR1I4TUgwc1puVnVZM1JwYjI0b1pDeGxMR0VwZTNKbGRIVnliaUJsTG1SbFppaGhMRndpZkRCY0lpbDlLVHRqWVhObElGd2ljM1JsYm1OcGJDNW1kVzVqWENJNmNtVjBkWEp1SUdVb1puVnVZM1JwYjI0b1pDbDdjbVYwZFhKdVcwSmJaQzVqYlhCOGZGd2lhMlZsY0Z3aVhTeGtMbkpsWm54OE1DeGNJbTFoYzJ0Y0ltbHVJR1EvWkM1dFlYTnJPaTB4WFgwc1puVnVZM1JwYjI0b1pDeGxMR0VwZTJROVpTNWtaV1lvSjF3aVkyMXdYQ0lnYVc0Z0p5eGhMRndpUDF3aUxHUXVZMjl1YzNSaGJuUnpMbU52YlhCaGNtVkdkVzVqY3l4Y0lsdGNJaXhoTEZ3aUxtTnRjRjFjSWl4Y0lqcGNJaXczTmpnd0tUdDJZWElnWXoxbExtUmxaaWhoTEZ3aUxuSmxabnd3WENJcE8yVTlaUzVrWldZb0oxd2liV0Z6YTF3aUlHbHVJQ2NzWVN4Y0lqOWNJaXhoTEZ3aUxtMWhjMnQ4TURvdE1Wd2lLVHR5WlhSMWNtNWJaQ3hjYm1Nc1pWMTlLVHRqWVhObElGd2ljM1JsYm1OcGJDNXZjRVp5YjI1MFhDSTZZMkZ6WlNCY0luTjBaVzVqYVd3dWIzQkNZV05yWENJNmNtVjBkWEp1SUdVb1puVnVZM1JwYjI0b1pTbDdjbVYwZFhKdVcxd2ljM1JsYm1OcGJDNXZjRUpoWTJ0Y0lqMDlQV1EvTVRBeU9Ub3hNREk0TEZsYlpTNW1ZV2xzZkh4Y0ltdGxaWEJjSWwwc1dWdGxMbnBtWVdsc2ZIeGNJbXRsWlhCY0lsMHNXVnRsTG5wd1lYTnpmSHhjSW10bFpYQmNJbDFkZlN4bWRXNWpkR2x2YmlobExHRXNZeWw3Wm5WdVkzUnBiMjRnZGloa0tYdHlaWFIxY200Z1lTNWtaV1lvSjF3aUp5eGtMQ2RjSWlCcGJpQW5MR01zWENJL1hDSXNZaXhjSWx0Y0lpeGpMRndpTGx3aUxHUXNYQ0pkT2x3aUxEYzJPREFwZlhaaGNpQmlQV1V1WTI5dWMzUmhiblJ6TG5OMFpXNWphV3hQY0hNN2NtVjBkWEp1VzF3aWMzUmxibU5wYkM1dmNFSmhZMnRjSWowOVBXUS9NVEF5T1RveE1ESTRMSFlvWENKbVlXbHNYQ0lwTEhZb1hDSjZabUZwYkZ3aUtTeDJLRndpZW5CaGMzTmNJaWxkZlNrN1kyRnpaU0JjSW5CdmJIbG5iMjVQWm1aelpYUXViMlptYzJWMFhDSTZjbVYwZFhKdUlHVW9ablZ1WTNScGIyNG9aQ2w3Y21WMGRYSnVXMlF1Wm1GamRHOXlmREFzWkM1MWJtbDBjM3d3WFgwc1puVnVZM1JwYjI0b1pDeGxMR0VwZTJROVpTNWtaV1lvWVN4Y0lpNW1ZV04wYjNKOE1Gd2lLVHRsUFdVdVpHVm1LR0VzWENJdWRXNXBkSE44TUZ3aUtUdHlaWFIxY201YlpDeGNibVZkZlNrN1kyRnpaU0JjSW1OMWJHd3VabUZqWlZ3aU9uSmxkSFZ5YmlCbEtHWjFibU4wYVc5dUtHUXBlM1poY2lCbFBUQTdYQ0ptY205dWRGd2lQVDA5WkQ5bFBURXdNamc2WENKaVlXTnJYQ0k5UFQxa0ppWW9aVDB4TURJNUtUdHlaWFIxY200Z1pYMHNablZ1WTNScGIyNG9aQ3hsTEdFcGUzSmxkSFZ5YmlCbExtUmxaaWhoTENjOVBUMWNJbVp5YjI1MFhDSS9KeXd4TURJNExGd2lPbHdpTERFd01qa3BmU2s3WTJGelpTQmNJbXhwYm1WWGFXUjBhRndpT25KbGRIVnliaUJsS0daMWJtTjBhVzl1S0dRcGUzSmxkSFZ5YmlCa2ZTeG1kVzVqZEdsdmJpaGtMR1VzWVNsN2NtVjBkWEp1SUdGOUtUdGpZWE5sSUZ3aVpuSnZiblJHWVdObFhDSTZjbVYwZFhKdUlHVW9ablZ1WTNScGIyNG9aQ2w3Y21WMGRYSnVJRXhiWkYxOUxHWjFibU4wYVc5dUtHUXNaU3hoS1h0eVpYUjFjbTRnWlM1a1pXWW9ZU3NuUFQwOVhDSmpkMXdpUHpJek1EUTZNak13TlNjcGZTazdZMkZ6WlNCY0ltTnZiRzl5VFdGemExd2lPbkpsZEhWeWJpQmxLR1oxYm1OMGFXOXVLR1FwZTNKbGRIVnliaUJrTG0xaGNDaG1kVzVqZEdsdmJpaGtLWHR5WlhSMWNtNGhJV1I5S1gwc1puVnVZM1JwYjI0b1pDeGxMR0VwZTNKbGRIVnliaUJHS0RRc1puVnVZM1JwYjI0b1pDbDdjbVYwZFhKdVhDSWhJVndpSzJFclhDSmJYQ0lyWkN0Y0lsMWNJbjBwZlNrN1kyRnpaU0JjSW5OaGJYQnNaUzVqYjNabGNtRm5aVndpT25KbGRIVnliaUJsS0daMWJtTjBhVzl1S0dRcGUzSmxkSFZ5Ymx0Y0luWmhiSFZsWENKcGJseHVaRDlrTG5aaGJIVmxPakVzSVNGa0xtbHVkbVZ5ZEYxOUxHWjFibU4wYVc5dUtHUXNaU3hoS1h0a1BXVXVaR1ZtS0NkY0luWmhiSFZsWENJZ2FXNGdKeXhoTEZ3aVB5dGNJaXhoTEZ3aUxuWmhiSFZsT2pGY0lpazdaVDFsTG1SbFppaGNJaUVoWENJc1lTeGNJaTVwYm5abGNuUmNJaWs3Y21WMGRYSnVXMlFzWlYxOUtYMTlLVHR5WlhSMWNtNGdRWDFtZFc1amRHbHZiaUJ6WVNoa0xHVXBlM1poY2lCaVBXUmJYQ0p6ZEdGMGFXTmNJbDBzYUQxa0xtUjVibUZ0YVdNc1FUMTdmVHRQWW1wbFkzUXVhMlY1Y3loaUtTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHUXBlM1poY2lCbFBXSmJaRjBzWVR0cFppaGNJbTUxYldKbGNsd2lQVDA5ZEhsd1pXOW1JR1Y4ZkZ3aVltOXZiR1ZoYmx3aVBUMDlkSGx3Wlc5bUlHVXBZVDFqS0daMWJtTjBhVzl1S0NsN2NtVjBkWEp1SUdWOUtUdGxiSE5sSUdsbUtGd2lablZ1WTNScGIyNWNJajA5UFhSNWNHVnZaaUJsS1h0MllYSWdkajFsTGw5eVpXZHNWSGx3WlR0cFppaGNJblJsZUhSMWNtVXlaRndpUFQwOWRueDhYQ0owWlhoMGRYSmxRM1ZpWlZ3aVBUMDlkaWxoUFdNb1puVnVZM1JwYjI0b1pDbDdjbVYwZFhKdUlHUXViR2x1YXlobEtYMHBPMlZzYzJVZ2FXWW9YQ0ptY21GdFpXSjFabVpsY2x3aVBUMDlkbng4WENKbWNtRnRaV0oxWm1abGNrTjFZbVZjSWowOVBYWXBZVDFqS0daMWJtTjBhVzl1S0dRcGUzSmxkSFZ5YmlCa0xteHBibXNvWlM1amIyeHZjbHN3WFNsOUtYMWxiSE5sSUhrb1pTa21KbHh1S0dFOVl5aG1kVzVqZEdsdmJpaGtLWHR5WlhSMWNtNGdaQzVuYkc5aVlXd3VaR1ZtS0Z3aVcxd2lMRVlvWlM1c1pXNW5kR2dzWm5WdVkzUnBiMjRvWkNsN2NtVjBkWEp1SUdWYlpGMTlLU3hjSWwxY0lpbDlLU2s3WVM1MllXeDFaVDFsTzBGYlpGMDlZWDBwTzA5aWFtVmpkQzVyWlhsektHZ3BMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9aQ2w3ZG1GeUlHVTlhRnRrWFR0QlcyUmRQV0VvWlN4bWRXNWpkR2x2Ymloa0xHRXBlM0psZEhWeWJpQmtMbWx1ZG05clpTaGhMR1VwZlNsOUtUdHlaWFIxY200Z1FYMW1kVzVqZEdsdmJpQmtZU2hrTEdVcGUzWmhjaUJpUFdSYlhDSnpkR0YwYVdOY0lsMHNhRDFrTG1SNWJtRnRhV01zUVQxN2ZUdFBZbXBsWTNRdWEyVjVjeWhpS1M1bWIzSkZZV05vS0daMWJtTjBhVzl1S0dRcGUzWmhjaUJsUFdKYlpGMHNZVDFtTG1sa0tHUXBMSFk5Ym1WM0lFSmhPMmxtS0d3b1pTa3BkaTV6ZEdGMFpUMHhMSFl1WW5WbVptVnlQVTB1WjJWMFFuVm1abVZ5S0UwdVkzSmxZWFJsS0dVc016UTVOaklzSVRFc0lUQXBLU3gyTG5SNWNHVTlNRHRsYkhObGUzWmhjaUJvUFUwdVoyVjBRblZtWm1WeUtHVXBPMmxtS0dncGRpNXpkR0YwWlQweExIWXVZblZtWm1WeVBXZ3NkaTUwZVhCbFBUQTdaV3h6WlNCcFppaGxMbU52Ym5OMFlXNTBLWHQyWVhJZ2R6MWxMbU52Ym5OMFlXNTBPM1l1WW5WbVptVnlQVnh1WENKdWRXeHNYQ0k3ZGk1emRHRjBaVDB5TzF3aWJuVnRZbVZ5WENJOVBUMTBlWEJsYjJZZ2R6OTJMbmc5ZHpwT0xtWnZja1ZoWTJnb1puVnVZM1JwYjI0b1pDeGxLWHRsUEhjdWJHVnVaM1JvSmlZb2RsdGtYVDEzVzJWZEtYMHBmV1ZzYzJWN2RtRnlJR2c5YkNobExtSjFabVpsY2lrL1RTNW5aWFJDZFdabVpYSW9UUzVqY21WaGRHVW9aUzVpZFdabVpYSXNNelE1TmpJc0lURXNJVEFwS1RwTkxtZGxkRUoxWm1abGNpaGxMbUoxWm1abGNpa3NlajFsTG05bVpuTmxkSHd3TEhFOVpTNXpkSEpwWkdWOE1DeHJQV1V1YzJsNlpYd3dMR2M5SVNGbExtNXZjbTFoYkdsNlpXUXNiVDB3TzF3aWRIbHdaVndpYVc0Z1pTWW1LRzA5UTF0bExuUjVjR1ZkS1R0bFBXVXVaR2wyYVhOdmNud3dPM1l1WW5WbVptVnlQV2c3ZGk1emRHRjBaVDB4TzNZdWMybDZaVDFyTzNZdWJtOXliV0ZzYVhwbFpEMW5PM1l1ZEhsd1pUMXRmSHhvTG1SMGVYQmxPM1l1YjJabWMyVjBQWG83ZGk1emRISnBaR1U5Y1R0MkxtUnBkbWx6YjNJOVpYMTlRVnRrWFQxaktHWjFibU4wYVc5dUtHUXNaU2w3ZG1GeUlHTTlaQzVoZEhSeWFXSkRZV05vWlR0cFppaGhJR2x1SUdNcGNtVjBkWEp1SUdOYllWMDdkbUZ5SUdJOWUybHpVM1J5WldGdE9pRXhmVHRQWW1wbFkzUXVhMlY1Y3loMktTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHUXBlMkpiWkYwOVhHNTJXMlJkZlNrN2RpNWlkV1ptWlhJbUppaGlMbUoxWm1abGNqMWtMbXhwYm1zb2RpNWlkV1ptWlhJcExHSXVkSGx3WlQxaUxuUjVjR1Y4ZkdJdVluVm1abVZ5SzF3aUxtUjBlWEJsWENJcE8zSmxkSFZ5YmlCalcyRmRQV0o5S1gwcE8wOWlhbVZqZEM1clpYbHpLR2dwTG1admNrVmhZMmdvWm5WdVkzUnBiMjRvWkNsN2RtRnlJR1U5YUZ0a1hUdEJXMlJkUFdFb1pTeG1kVzVqZEdsdmJpaGtMR0VwZTJaMWJtTjBhVzl1SUhZb1pDbDdZU2hCVzJSZExGd2lQVndpTEdNc1hDSXVYQ0lzWkN4Y0lud3dPMXdpS1gxMllYSWdZejFrTG1sdWRtOXJaU2hoTEdVcExHSTlaQzV6YUdGeVpXUXNhRDFpTG1selFuVm1abVZ5UVhKbmN5eDNQV0l1WW5WbVptVnlMRUU5ZTJselUzUnlaV0Z0T21FdVpHVm1LQ0V4S1gwc2VqMXVaWGNnUW1FN2VpNXpkR0YwWlQweE8wOWlhbVZqZEM1clpYbHpLSG9wTG1admNrVmhZMmdvWm5WdVkzUnBiMjRvWkNsN1FWdGtYVDFoTG1SbFppaGNJbHdpSzNwYlpGMHBmU2s3ZG1GeUlHRmhQVUV1WW5WbVptVnlMSEU5UVM1MGVYQmxPMkVvWENKcFppaGNJaXhvTEZ3aUtGd2lMR01zWENJcEtYdGNJaXhCTG1selUzUnlaV0Z0TEZ3aVBYUnlkV1U3WENJc1lXRXNYQ0k5WENJc2R5eGNJaTVqY21WaGRHVlRkSEpsWVcwb1hDSXNNelE1TmpJc1hDSXNYQ0lzWXl4Y0lpazdYQ0lzY1N4Y0lqMWNJaXhoWVN4Y0lpNWtkSGx3WlR0Y0lpeGNJbjFsYkhObGUxd2lMRnh1WVdFc1hDSTlYQ0lzZHl4Y0lpNW5aWFJDZFdabVpYSW9YQ0lzWXl4Y0lpazdYQ0lzWENKcFppaGNJaXhoWVN4Y0lpbDdYQ0lzY1N4Y0lqMWNJaXhoWVN4Y0lpNWtkSGx3WlR0Y0lpd25mV1ZzYzJVZ2FXWW9YQ0pqYjI1emRHRnVkRndpSUdsdUlDY3NZeXhjSWlsN1hDSXNRUzV6ZEdGMFpTeGNJajFjSWl3eUxGd2lPMXdpTEZ3aWFXWW9kSGx3Wlc5bUlGd2lLMk1ySnk1amIyNXpkR0Z1ZENBOVBUMGdYQ0p1ZFcxaVpYSmNJaWw3Snl4QlcwNWJNRjFkTEZ3aVBWd2lMR01zWENJdVkyOXVjM1JoYm5RN1hDSXNUaTV6YkdsalpTZ3hLUzV0WVhBb1puVnVZM1JwYjI0b1pDbDdjbVYwZFhKdUlFRmJaRjE5S1M1cWIybHVLRndpUFZ3aUtTeGNJajB3TzF3aUxGd2lmV1ZzYzJWN1hDSXNUaTV0WVhBb1puVnVZM1JwYjI0b1pDeGxLWHR5WlhSMWNtNGdRVnRrWFN0Y0lqMWNJaXRqSzF3aUxtTnZibk4wWVc1MExteGxibWQwYUQ0OVhDSXJaU3RjSWo5Y0lpdGpLMXdpTG1OdmJuTjBZVzUwVzF3aUsyVXJYQ0pkT2pBN1hDSjlLUzVxYjJsdUtGd2lYQ0lwTEZ3aWZYMWxiSE5sZTF3aUxGd2lhV1lvWENJc2FDeGNJaWhjSWl4akxGd2lMbUoxWm1abGNpa3BlMXdpTEdGaExGd2lQVndpTEhjc1hDSXVZM0psWVhSbFUzUnlaV0Z0S0Z3aUxETTBPVFl5TEZ3aUxGd2lMR01zWENJdVluVm1abVZ5S1R0Y0lpeGNJbjFsYkhObGUxd2lMR0ZoTEZ3aVBWd2lMSGNzWENJdVoyVjBRblZtWm1WeUtGd2lMR01zWENJdVluVm1abVZ5S1R0Y0lpeGNJbjFjSWl4eExDYzlYQ0owZVhCbFhDSWdhVzRnSnl4Y2JtTXNYQ0kvWENJc1lpNW5iRlI1Y0dWekxGd2lXMXdpTEdNc1hDSXVkSGx3WlYwNlhDSXNZV0VzWENJdVpIUjVjR1U3WENJc1FTNXViM0p0WVd4cGVtVmtMRndpUFNFaFhDSXNZeXhjSWk1dWIzSnRZV3hwZW1Wa08xd2lLVHQyS0Z3aWMybDZaVndpS1R0MktGd2liMlptYzJWMFhDSXBPM1lvWENKemRISnBaR1ZjSWlrN2RpaGNJbVJwZG1semIzSmNJaWs3WVNoY0luMTlYQ0lwTzJFdVpYaHBkQ2hjSW1sbUtGd2lMRUV1YVhOVGRISmxZVzBzWENJcGUxd2lMSGNzWENJdVpHVnpkSEp2ZVZOMGNtVmhiU2hjSWl4aFlTeGNJaWs3WENJc1hDSjlYQ0lwTzNKbGRIVnliaUJCZlNsOUtUdHlaWFIxY200Z1FYMW1kVzVqZEdsdmJpQnFZU2hrS1h0MllYSWdaVDFrVzF3aWMzUmhkR2xqWENKZExHSTlaQzVrZVc1aGJXbGpMR2c5ZTMwN1QySnFaV04wTG10bGVYTW9aU2t1Wm05eVJXRmphQ2htZFc1amRHbHZiaWhrS1h0MllYSWdZVDFsVzJSZE8yaGJaRjA5WXlobWRXNWpkR2x2Ymloa0xHVXBlM0psZEhWeWJsd2liblZ0WW1WeVhDSTlQVDEwZVhCbGIyWWdZWHg4WENKaWIyOXNaV0Z1WENJOVBUMTBlWEJsYjJZZ1lUOWNJbHdpSzJFNlpDNXNhVzVyS0dFcGZTbDlLVHRQWW1wbFkzUXVhMlY1Y3loaUtTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHUXBlM1poY2lCbFBXSmJaRjA3YUZ0a1hUMWhLR1VzWm5WdVkzUnBiMjRvWkN4aEtYdHlaWFIxY200Z1pDNXBiblp2YTJVb1lTeGxLWDBwZlNrN2NtVjBkWEp1SUdoOVhHNW1kVzVqZEdsdmJpQnNZU2hrTEdVc1lTeGpMR0lwZTNaaGNpQm9QWGxoS0dRc1lpa3NkejFWS0dRc2FDeGlLU3g2UFd0aEtHUXNZaWtzY1QxeVlTaGtMR0lwTEdzOWFXRW9aQ3hpS1N4blBYY3VkbWxsZDNCdmNuUTdaeVltS0hFdWRtbGxkM0J2Y25ROVp5azdaejFYS0Z3aWMyTnBjM052Y2k1aWIzaGNJaWs3S0hjOWQxdG5YU2ttSmloeFcyZGRQWGNwTzNjOU1EeFBZbXBsWTNRdWEyVjVjeWh4S1M1c1pXNW5kR2c3YUQxN1puSmhiV1ZpZFdabVpYSTZhQ3hrY21GM09ub3NjMmhoWkdWeU9tc3NjM1JoZEdVNmNTeGthWEowZVRwM2ZUdG9MbkJ5YjJacGJHVTlibUVvWkN4aUtUdG9MblZ1YVdadmNtMXpQWE5oS0dFc1lpazdhQzVoZEhSeWFXSjFkR1Z6UFdSaEtHVXNZaWs3YUM1amIyNTBaWGgwUFdwaEtHTXNZaWs3Y21WMGRYSnVJR2g5Wm5WdVkzUnBiMjRnWldFb1pDeGxMR0VwZTNaaGNpQmpQV1F1YzJoaGNtVmtMbU52Ym5SbGVIUXNZajFrTG5OamIzQmxLQ2s3VDJKcVpXTjBMbXRsZVhNb1lTa3VabTl5UldGamFDaG1kVzVqZEdsdmJpaG9LWHRsTG5OaGRtVW9ZeXhjSWk1Y0lpdG9LVHRpS0dNc1hDSXVYQ0lzYUN4Y0lqMWNJaXhoVzJoZExtRndjR1Z1WkNoa0xHVXBMRndpTzF3aUtYMHBPMlVvWWlsOVpuVnVZM1JwYjI0Z1R5aGtMR1VzWVN4aktYdDJZWElnWWoxa0xuTm9ZWEpsWkN4b1BXSXVaMndzZHoxaUxtWnlZVzFsWW5WbVptVnlMRnh1ZWp0dllTWW1LSG85WlM1a1pXWW9ZaTVsZUhSbGJuTnBiMjV6TEZ3aUxuZGxZbWRzWDJSeVlYZGZZblZtWm1WeWMxd2lLU2s3ZG1GeUlIRTlaQzVqYjI1emRHRnVkSE1zWWoxeExtUnlZWGRDZFdabVpYSXNjVDF4TG1KaFkydENkV1ptWlhJN1pEMWhQMkV1WVhCd1pXNWtLR1FzWlNrNlpTNWtaV1lvZHl4Y0lpNXVaWGgwWENJcE8yTjhmR1VvWENKcFppaGNJaXhrTEZ3aUlUMDlYQ0lzZHl4Y0lpNWpkWElwZTF3aUtUdGxLRndpYVdZb1hDSXNaQ3hjSWlsN1hDSXNhQ3hjSWk1aWFXNWtSbkpoYldWaWRXWm1aWElvWENJc016WXhOakFzWENJc1hDSXNaQ3hjSWk1bWNtRnRaV0oxWm1abGNpazdYQ0lwTzI5aEppWmxLSG9zWENJdVpISmhkMEoxWm1abGNuTlhSVUpIVENoY0lpeGlMRndpVzF3aUxHUXNYQ0l1WTI5c2IzSkJkSFJoWTJodFpXNTBjeTVzWlc1bmRHaGRLVHRjSWlrN1pTaGNJbjFsYkhObGUxd2lMR2dzWENJdVltbHVaRVp5WVcxbFluVm1abVZ5S0Z3aUxETTJNVFl3TEZ3aUxHNTFiR3dwTzF3aUtUdHZZU1ltWlNoNkxGd2lMbVJ5WVhkQ2RXWm1aWEp6VjBWQ1Iwd29YQ0lzY1N4Y0lpazdYQ0lwTzJVb1hDSjlYQ0lzZHl4Y0lpNWpkWEk5WENJc1pDeGNJanRjSWlrN1kzeDhaU2hjSW4xY0lpbDlablZ1WTNScGIyNGdhR0VvWkN4aExHTXBlM1poY2lCaVBXUXVjMmhoY21Wa0xHZzlZaTVuYkN4NlBXUXVZM1Z5Y21WdWRDeHhQV1F1Ym1WNGRDeG5QV0l1WTNWeWNtVnVkQ3hyUFdJdWJtVjRkQ3hjYm0wOVpDNWpiMjVrS0djc1hDSXVaR2x5ZEhsY0lpazdkeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR0VwZTJFOVZ5aGhLVHRwWmlnaEtHRWdhVzRnWXk1emRHRjBaU2twZTNaaGNpQjJMR0k3YVdZb1lTQnBiaUJ4S1h0MlBYRmJZVjA3WWoxNlcyRmRPM1poY2lCM1BVWW9aVnRoWFM1c1pXNW5kR2dzWm5WdVkzUnBiMjRvWkNsN2NtVjBkWEp1SUcwdVpHVm1LSFlzWENKYlhDSXNaQ3hjSWwxY0lpbDlLVHR0S0dRdVkyOXVaQ2gzTG0xaGNDaG1kVzVqZEdsdmJpaGtMR1VwZTNKbGRIVnliaUJrSzF3aUlUMDlYQ0lyWWl0Y0lsdGNJaXRsSzF3aVhWd2lmU2t1YW05cGJpaGNJbng4WENJcEtTNTBhR1Z1S0dnc1hDSXVYQ0lzZUdGYllWMHNYQ0lvWENJc2R5eGNJaWs3WENJc2R5NXRZWEFvWm5WdVkzUnBiMjRvWkN4bEtYdHlaWFIxY200Z1lpdGNJbHRjSWl0bEsxd2lYVDFjSWl0a2ZTa3VhbTlwYmloY0lqdGNJaWtzWENJN1hDSXBLWDFsYkhObElIWTliUzVrWldZb2F5eGNJaTVjSWl4aEtTeDNQV1F1WTI5dVpDaDJMRndpSVQwOVhDSXNaeXhjSWk1Y0lpeGhLU3h0S0hjcExHRWdhVzRnZDJFL2R5aGtMbU52Ym1Rb2Rpa3VkR2hsYmlob0xGd2lMbVZ1WVdKc1pTaGNJaXgzWVZ0aFhTeGNJaWs3WENJcFcxd2laV3h6WlZ3aVhTaG9MRndpTG1ScGMyRmliR1VvWENJc2QyRmJZVjBzWENJcE8xd2lLU3huTEZ3aUxsd2lMR0VzWENJOVhDSXNkaXhjSWp0Y0lpazZkeWhvTEZ3aUxsd2lMSGhoVzJGZExGd2lLRndpTEhZc1hDSXBPMXdpTEZ4dVp5eGNJaTVjSWl4aExGd2lQVndpTEhZc1hDSTdYQ0lwZlgwcE96QTlQVDFQWW1wbFkzUXVhMlY1Y3loakxuTjBZWFJsS1M1c1pXNW5kR2dtSm0wb1p5eGNJaTVrYVhKMGVUMW1ZV3h6WlR0Y0lpazdZU2h0S1gxbWRXNWpkR2x2YmlCUktHUXNaU3hoTEdNcGUzWmhjaUJpUFdRdWMyaGhjbVZrTEdnOVpDNWpkWEp5Wlc1MExIYzlZaTVqZFhKeVpXNTBMSEU5WWk1bmJEdHJLRTlpYW1WamRDNXJaWGx6S0dFcEtTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHSXBlM1poY2lCNlBXRmJZbDA3YVdZb0lXTjhmR01vZWlrcGUzWmhjaUJuUFhvdVlYQndaVzVrS0dRc1pTazdhV1lvZDJGYllsMHBlM1poY2lCclBYZGhXMkpkTzNJb2Vpay9aejlsS0hFc1hDSXVaVzVoWW14bEtGd2lMR3NzWENJcE8xd2lLVHBsS0hFc1hDSXVaR2x6WVdKc1pTaGNJaXhyTEZ3aUtUdGNJaWs2WlNoa0xtTnZibVFvWnlrdWRHaGxiaWh4TEZ3aUxtVnVZV0pzWlNoY0lpeHJMRndpS1R0Y0lpbGJYQ0psYkhObFhDSmRLSEVzWENJdVpHbHpZV0pzWlNoY0lpeHJMRndpS1R0Y0lpa3BPMlVvZHl4Y0lpNWNJaXhpTEZ3aVBWd2lMR2NzWENJN1hDSXBmV1ZzYzJVZ2FXWW9lU2huS1NsN2RtRnlJRzA5YUZ0aVhUdGxLSEVzWENJdVhDSXNlR0ZiWWwwc1hDSW9YQ0lzWnl4Y0lpazdYQ0lzWnk1dFlYQW9ablZ1WTNScGIyNG9aQ3hsS1h0eVpYUjFjbTRnYlN0Y0lsdGNJaXRsSzF3aVhUMWNJaXRrZlNrdWFtOXBiaWhjSWp0Y0lpa3NYQ0k3WENJcGZXVnNjMlVnWlNoeExGeHVYQ0l1WENJc2VHRmJZbDBzWENJb1hDSXNaeXhjSWlrN1hDSXNkeXhjSWk1Y0lpeGlMRndpUFZ3aUxHY3NYQ0k3WENJcGZYMHBmV1oxYm1OMGFXOXVJSEJoS0dRc1pTbDdkR0VtSmloa0xtbHVjM1JoYm1OcGJtYzlaUzVrWldZb1pDNXphR0Z5WldRdVpYaDBaVzV6YVc5dWN5eGNJaTVoYm1kc1pWOXBibk4wWVc1alpXUmZZWEp5WVhselhDSXBLWDFtZFc1amRHbHZiaUJXS0dRc1pTeGhMR01zWWlsN1puVnVZM1JwYjI0Z2FDZ3BlM0psZEhWeWJsd2lkVzVrWldacGJtVmtYQ0k5UFQxMGVYQmxiMllnY0dWeVptOXliV0Z1WTJVL1hDSkVZWFJsTG01dmR5Z3BYQ0k2WENKd1pYSm1iM0p0WVc1alpTNXViM2NvS1Z3aWZXWjFibU4wYVc5dUlIY29aQ2w3YkQxbExtUmxaaWdwTzJRb2JDeGNJajFjSWl4b0tDa3NYQ0k3WENJcE8xd2ljM1J5YVc1blhDSTlQVDEwZVhCbGIyWWdZajlrS0dzc1hDSXVZMjkxYm5RclBWd2lMR0lzWENJN1hDSXBPbVFvYXl4Y0lpNWpiM1Z1ZENzck8xd2lLVHR0WVNZbUtHTS9LRzQ5WlM1a1pXWW9LU3hrS0c0c1hDSTlYQ0lzWml4Y0lpNW5aWFJPZFcxUVpXNWthVzVuVVhWbGNtbGxjeWdwTzF3aUtTazZaQ2htTEZ3aUxtSmxaMmx1VVhWbGNua29YQ0lzYXl4Y0lpazdYQ0lwS1gxbWRXNWpkR2x2YmlCeEtHUXBlMlFvYXl4Y0lpNWpjSFZVYVcxbEt6MWNJaXhvS0Nrc1hDSXRYQ0lzYkN4Y0lqdGNJaWs3YldFbUppaGpQMlFvWml4Y0lpNXdkWE5vVTJOdmNHVlRkR0YwY3loY0lpeHVMRnh1WENJc1hDSXNaaXhjSWk1blpYUk9kVzFRWlc1a2FXNW5VWFZsY21sbGN5Z3BMRndpTEdzc1hDSXBPMXdpS1Rwa0tHWXNYQ0l1Wlc1a1VYVmxjbmtvS1R0Y0lpa3BmV1oxYm1OMGFXOXVJSG9vWkNsN2RtRnlJR0U5WlM1a1pXWW9iU3hjSWk1d2NtOW1hV3hsWENJcE8yVW9iU3hjSWk1d2NtOW1hV3hsUFZ3aUxHUXNYQ0k3WENJcE8yVXVaWGhwZENodExGd2lMbkJ5YjJacGJHVTlYQ0lzWVN4Y0lqdGNJaWw5ZG1GeUlHYzlaQzV6YUdGeVpXUXNhejFrTG5OMFlYUnpMRzA5Wnk1amRYSnlaVzUwTEdZOVp5NTBhVzFsY2p0aFBXRXVjSEp2Wm1sc1pUdDJZWElnYkN4dU8ybG1LR0VwZTJsbUtISW9ZU2twZTJFdVpXNWhZbXhsUHloM0tHVXBMSEVvWlM1bGVHbDBLU3g2S0Z3aWRISjFaVndpS1NrNmVpaGNJbVpoYkhObFhDSXBPM0psZEhWeWJuMWhQV0V1WVhCd1pXNWtLR1FzWlNrN2VpaGhLWDFsYkhObElHRTlaUzVrWldZb2JTeGNJaTV3Y205bWFXeGxYQ0lwTzJjOVpDNWliRzlqYXlncE8zY29aeWs3WlNoY0ltbG1LRndpTEdFc1hDSXBlMXdpTEdjc1hDSjlYQ0lwTzJROVpDNWliRzlqYXlncE8zRW9aQ2s3WlM1bGVHbDBLRndpYVdZb1hDSXNZU3hjSWlsN1hDSXNaQ3hjSW4xY0lpbDlablZ1WTNScGIyNGdXQ2hrTEdVc1lTeGpMR0lwZTJaMWJtTjBhVzl1SUdnb1pDbDdjM2RwZEdOb0tHUXBlMk5oYzJVZ016VTJOalE2WTJGelpTQXpOVFkyTnpwallYTmxJRE0xTmpjeE9uSmxkSFZ5YmlBeU8xeHVZMkZ6WlNBek5UWTJOVHBqWVhObElETTFOalk0T21OaGMyVWdNelUyTnpJNmNtVjBkWEp1SURNN1kyRnpaU0F6TlRZMk5qcGpZWE5sSURNMU5qWTVPbU5oYzJVZ016VTJOek02Y21WMGRYSnVJRFE3WkdWbVlYVnNkRHB5WlhSMWNtNGdNWDE5Wm5WdVkzUnBiMjRnZHloaExHTXNZaWw3Wm5WdVkzUnBiMjRnYUNncGUyVW9YQ0pwWmlnaFhDSXNiU3hjSWk1aWRXWm1aWElwZTF3aUxHY3NYQ0l1Wlc1aFlteGxWbVZ5ZEdWNFFYUjBjbWxpUVhKeVlYa29YQ0lzYXl4Y0lpazdmVndpS1R0MllYSWdZVDFpTG5SNWNHVXNkenQzUFdJdWMybDZaVDlsTG1SbFppaGlMbk5wZW1Vc1hDSjhmRndpTEdNcE9tTTdaU2hjSW1sbUtGd2lMRzBzWENJdWRIbHdaU0U5UFZ3aUxHRXNYQ0o4ZkZ3aUxHMHNYQ0l1YzJsNlpTRTlQVndpTEhjc1hDSjhmRndpTEdGaExtMWhjQ2htZFc1amRHbHZiaWhrS1h0eVpYUjFjbTRnYlN0Y0lpNWNJaXRrSzF3aUlUMDlYQ0lyWWx0a1hYMHBMbXB2YVc0b1hDSjhmRndpS1N4Y0lpbDdYQ0lzWnl4Y0lpNWlhVzVrUW5WbVptVnlLRndpTERNME9UWXlMRndpTEZ3aUxHWXNYQ0l1WW5WbVptVnlLVHRjSWl4bkxGd2lMblpsY25SbGVFRjBkSEpwWWxCdmFXNTBaWElvWENJc1cyc3NkeXhoTEdJdWJtOXliV0ZzYVhwbFpDeGlMbk4wY21sa1pTeGlMbTltWm5ObGRGMHNYQ0lwTzF3aUxHMHNYQ0l1ZEhsd1pUMWNJaXhoTEZ3aU8xd2lMRzBzWENJdWMybDZaVDFjSWl4M0xGd2lPMXdpTEdGaExtMWhjQ2htZFc1amRHbHZiaWhrS1h0eVpYUjFjbTRnYlN0Y2Jsd2lMbHdpSzJRclhDSTlYQ0lyWWx0a1hTdGNJanRjSW4wcExtcHZhVzRvWENKY0lpa3NYQ0o5WENJcE8zUmhKaVlvWVQxaUxtUnBkbWx6YjNJc1pTaGNJbWxtS0Z3aUxHMHNYQ0l1WkdsMmFYTnZjaUU5UFZ3aUxHRXNYQ0lwZTF3aUxHUXVhVzV6ZEdGdVkybHVaeXhjSWk1MlpYSjBaWGhCZEhSeWFXSkVhWFpwYzI5eVFVNUhURVVvWENJc1cyc3NZVjBzWENJcE8xd2lMRzBzWENJdVpHbDJhWE52Y2oxY0lpeGhMRndpTzMxY0lpa3BmV1oxYm1OMGFXOXVJSG9vS1h0bEtGd2lhV1lvWENJc2JTeGNJaTVpZFdabVpYSXBlMXdpTEdjc1hDSXVaR2x6WVdKc1pWWmxjblJsZUVGMGRISnBZa0Z5Y21GNUtGd2lMR3NzWENJcE8xd2lMRndpZldsbUtGd2lMRTR1YldGd0tHWjFibU4wYVc5dUtHUXNaU2w3Y21WMGRYSnVJRzByWENJdVhDSXJaQ3RjSWlFOVBWd2lLMEZiWlYxOUtTNXFiMmx1S0Z3aWZIeGNJaWtzWENJcGUxd2lMR2NzWENJdWRtVnlkR1Y0UVhSMGNtbGlOR1lvWENJc2F5eGNJaXhjSWl4QkxGd2lLVHRjSWl4T0xtMWhjQ2htZFc1amRHbHZiaWhrTEdVcGUzSmxkSFZ5YmlCdEsxd2lMbHdpSzJRclhDSTlYQ0lyUVZ0bFhTdGNJanRjSW4wcExtcHZhVzRvWENKY0lpa3NYQ0o5WENJcGZYWmhjaUJuUFhFdVoyd3NhejFsTG1SbFppaGhMRndpTG14dlkyRjBhVzl1WENJcExHMDlaUzVrWldZb2NTNWhkSFJ5YVdKMWRHVnpMRndpVzF3aUxHc3NYQ0pkWENJcE8yRTlZaTV6ZEdGMFpUdDJZWElnWmoxaUxtSjFabVpsY2l4QlBWdGlMbmdzWWk1NUxGeHVZaTU2TEdJdWQxMHNZV0U5VzF3aVluVm1abVZ5WENJc1hDSnViM0p0WVd4cGVtVmtYQ0lzWENKdlptWnpaWFJjSWl4Y0luTjBjbWxrWlZ3aVhUc3hQVDA5WVQ5b0tDazZNajA5UFdFL2VpZ3BPaWhsS0Z3aWFXWW9YQ0lzWVN4Y0lqMDlQVndpTERFc1hDSXBlMXdpS1N4b0tDa3NaU2hjSW4xbGJITmxlMXdpS1N4NktDa3NaU2hjSW4xY0lpa3BmWFpoY2lCeFBXUXVjMmhoY21Wa08yTXVabTl5UldGamFDaG1kVzVqZEdsdmJpaGpLWHQyWVhJZ2NUMWpMbTVoYldVc1p6MWhMbUYwZEhKcFluVjBaWE5iY1Ywc2VqdHBaaWhuS1h0cFppZ2hZaWhuS1NseVpYUjFjbTQ3ZWoxbkxtRndjR1Z1WkNoa0xHVXBmV1ZzYzJWN2FXWW9JV0lvU0NrcGNtVjBkWEp1TzNaaGNpQnRQV1F1YzJOdmNHVkJkSFJ5YVdJb2NTazdlajE3ZlR0UFltcGxZM1F1YTJWNWN5aHVaWGNnUW1FcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0b1pDbDdlbHRrWFQxbExtUmxaaWh0TEZ3aUxsd2lMR1FwZlNsOWR5aGtMbXhwYm1zb1l5a3NhQ2hqTG1sdVptOHVkSGx3WlNrc2VpbDlLWDFtZFc1amRHbHZiaUJVS0dRc1pTeGhMR01zWWlsN1ptOXlLSFpoY2lCb1BXUXVjMmhoY21Wa0xIYzlhQzVuYkN4bkxIRTlNRHR4UEdNdWJHVnVaM1JvT3lzcmNTbDdkbUZ5SUhvOVkxdHhYU3h0UFhvdWJtRnRaU3hyUFhvdWFXNW1ieTUwZVhCbExHdzlZUzUxYm1sbWIzSnRjMXR0WFN4NlBXUXViR2x1YXloNktTdGNibHdpTG14dlkyRjBhVzl1WENJc2JqdHBaaWhzS1h0cFppZ2hZaWhzS1NsamIyNTBhVzUxWlR0cFppaHlLR3dwS1h0dFBXd3VkbUZzZFdVN2FXWW9NelUyTnpnOVBUMXJmSHd6TlRZNE1EMDlQV3NwYXoxa0xteHBibXNvYlM1ZmRHVjRkSFZ5Wlh4OGJTNWpiMnh2Y2xzd1hTNWZkR1Y0ZEhWeVpTa3NaU2gzTEZ3aUxuVnVhV1p2Y20weGFTaGNJaXg2TEZ3aUxGd2lMR3NyWENJdVltbHVaQ2dwS1R0Y0lpa3NaUzVsZUdsMEtHc3NYQ0l1ZFc1aWFXNWtLQ2s3WENJcE8yVnNjMlVnYVdZb016VTJOelE5UFQxcmZId3pOVFkzTlQwOVBXdDhmRE0xTmpjMlBUMDlheWx0UFdRdVoyeHZZbUZzTG1SbFppaGNJbTVsZHlCR2JHOWhkRE15UVhKeVlYa29XMXdpSzBGeWNtRjVMbkJ5YjNSdmRIbHdaUzV6YkdsalpTNWpZV3hzS0cwcEsxd2lYU2xjSWlrc2JEMHlMRE0xTmpjMVBUMDlhejlzUFRNNk16VTJOelk5UFQxckppWW9iRDAwS1N4bEtIY3NYQ0l1ZFc1cFptOXliVTFoZEhKcGVGd2lMR3dzWENKbWRpaGNJaXg2TEZ3aUxHWmhiSE5sTEZ3aUxHMHNYQ0lwTzF3aUtUdGxiSE5sZTNOM2FYUmphQ2hyS1h0allYTmxJRFV4TWpZNlp6MWNJakZtWENJN1luSmxZV3M3WTJGelpTQXpOVFkyTkRwblBWd2lNbVpjSWp0aWNtVmhhenRqWVhObElETTFOalkxT21jOVhDSXpabHdpTzJKeVpXRnJPMk5oYzJVZ016VTJOalk2WnoxY0lqUm1YQ0k3WW5KbFlXczdZMkZ6WlNBek5UWTNNRHBuUFZ4dVhDSXhhVndpTzJKeVpXRnJPMk5oYzJVZ05URXlORHBuUFZ3aU1XbGNJanRpY21WaGF6dGpZWE5sSURNMU5qY3hPbWM5WENJeWFWd2lPMkp5WldGck8yTmhjMlVnTXpVMk5qYzZaejFjSWpKcFhDSTdZbkpsWVdzN1kyRnpaU0F6TlRZM01qcG5QVndpTTJsY0lqdGljbVZoYXp0allYTmxJRE0xTmpZNE9tYzlYQ0l6YVZ3aU8ySnlaV0ZyTzJOaGMyVWdNelUyTnpNNlp6MWNJalJwWENJN1luSmxZV3M3WTJGelpTQXpOVFkyT1RwblBWd2lOR2xjSW4xbEtIY3NYQ0l1ZFc1cFptOXliVndpTEdjc1hDSW9YQ0lzZWl4Y0lpeGNJaXg1S0cwcFAwRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHMHBPbTBzWENJcE8xd2lLWDFqYjI1MGFXNTFaWDFsYkhObElHNDliQzVoY0hCbGJtUW9aQ3hsS1gxbGJITmxlMmxtS0NGaUtFZ3BLV052Ym5ScGJuVmxPMjQ5WlM1a1pXWW9hQzUxYm1sbWIzSnRjeXhjSWx0Y0lpeG1MbWxrS0cwcExGd2lYVndpS1gwek5UWTNPRDA5UFdzL1pTaGNJbWxtS0Z3aUxHNHNYQ0ltSmx3aUxHNHNKeTVmY21WbmJGUjVjR1U5UFQxY0ltWnlZVzFsWW5WbVptVnlYQ0lwZXljc2JpeGNJajFjSWl4dUxGd2lMbU52Ykc5eVd6QmRPMXdpTEZ3aWZWd2lLVG96TlRZNE1EMDlQV3NtSm1Vb1hDSnBaaWhjSWl4dUxGd2lKaVpjSWl4dUxDY3VYM0psWjJ4VWVYQmxQVDA5WENKbWNtRnRaV0oxWm1abGNrTjFZbVZjSWlsN0p5eHVMRndpUFZ3aUxHNHNYQ0l1WTI5c2IzSmJNRjA3WENJc1hDSjlYQ0lwTzF4dWJUMHhPM04zYVhSamFDaHJLWHRqWVhObElETTFOamM0T21OaGMyVWdNelUyT0RBNmF6MWxMbVJsWmlodUxGd2lMbDkwWlhoMGRYSmxYQ0lwTzJVb2R5eGNJaTUxYm1sbWIzSnRNV2tvWENJc2VpeGNJaXhjSWl4ckxGd2lMbUpwYm1Rb0tTazdYQ0lwTzJVdVpYaHBkQ2hyTEZ3aUxuVnVZbWx1WkNncE8xd2lLVHRqYjI1MGFXNTFaVHRqWVhObElEVXhNalE2WTJGelpTQXpOVFkzTURwblBWd2lNV2xjSWp0aWNtVmhhenRqWVhObElETTFOalkzT21OaGMyVWdNelUyTnpFNlp6MWNJakpwWENJN2JUMHlPMkp5WldGck8yTmhjMlVnTXpVMk5qZzZZMkZ6WlNBek5UWTNNanBuUFZ3aU0ybGNJanR0UFRNN1luSmxZV3M3WTJGelpTQXpOVFkyT1RwallYTmxJRE0xTmpjek9tYzlYQ0kwYVZ3aU8yMDlORHRpY21WaGF6dGpZWE5sSURVeE1qWTZaejFjSWpGbVhDSTdZbkpsWVdzN1kyRnpaU0F6TlRZMk5EcG5QVndpTW1aY0lqdHRQVEk3WW5KbFlXczdZMkZ6WlNBek5UWTJOVHBuUFZ3aU0yWmNJanR0UFRNN1luSmxZV3M3WTJGelpTQXpOVFkyTmpwblBWd2lOR1pjSWp0dFBUUTdZbkpsWVdzN1kyRnpaU0F6TlRZM05EcG5QVndpVFdGMGNtbDRNbVoyWENJN1luSmxZV3M3WTJGelpTQXpOVFkzTlRwblBWd2lUV0YwY21sNE0yWjJYQ0k3WW5KbFlXczdZMkZ6WlNBek5UWTNOanBuUFZ3aVRXRjBjbWw0TkdaMlhDSjlaU2gzTEZ3aUxuVnVhV1p2Y20xY0lpeG5MRndpS0Z3aUxIb3NYQ0lzWENJcE8xeHVhV1lvWENKTlhDSTlQVDFuTG1Ob1lYSkJkQ2d3S1NsN2RtRnlJSG85VFdGMGFDNXdiM2NvYXkwek5UWTNOQ3N5TERJcExFSTlaQzVuYkc5aVlXd3VaR1ZtS0Z3aWJtVjNJRVpzYjJGME16SkJjbkpoZVNoY0lpeDZMRndpS1Z3aUtUdGxLRndpWm1Gc2MyVXNLRUZ5Y21GNUxtbHpRWEp5WVhrb1hDSXNiaXhjSWlsOGZGd2lMRzRzWENJZ2FXNXpkR0Z1WTJWdlppQkdiRzloZERNeVFYSnlZWGtwUDF3aUxHNHNYQ0k2S0Z3aUxFWW9laXhtZFc1amRHbHZiaWhrS1h0eVpYUjFjbTRnUWl0Y0lsdGNJaXRrSzF3aVhUMWNJaXR1SzF3aVcxd2lLMlFyWENKZFhDSjlLU3hjSWl4Y0lpeENMRndpS1Z3aUtYMWxiSE5sSURFOGJUOWxLRVlvYlN4bWRXNWpkR2x2Ymloa0tYdHlaWFIxY200Z2JpdGNJbHRjSWl0a0sxd2lYVndpZlNrcE9tVW9iaWs3WlNoY0lpazdYQ0lwZlgxbWRXNWpkR2x2YmlCMVlTaGtMR1VzWVN4aktYdG1kVzVqZEdsdmJpQmlLR2dwZTNaaGNpQm5QV3RiYUYwN2NtVjBkWEp1SUdjL1p5NWpiMjUwWlhoMFJHVndKaVpqTG1OdmJuUmxlSFJFZVc1aGJXbGpmSHhuTG5CeWIzQkVaWEEvWnk1aGNIQmxibVFvWkN4aEtUcG5MbUZ3Y0dWdVpDaGtMR1VwT21VdVpHVm1LRzBzWENJdVhDSXNhQ2w5Wm5WdVkzUnBiMjRnYUNncGUyWjFibU4wYVc5dUlHUW9LWHRoS0hnc1hDSXVaSEpoZDBWc1pXMWxiblJ6U1c1emRHRnVZMlZrUVU1SFRFVW9YQ0lzVzJZc2JpeExMR3dyWENJOFBDZ29YQ0lyWEc1TEsxd2lMVFV4TWpFcFBqNHhLVndpTEVKZExGd2lLVHRjSWlsOVpuVnVZM1JwYjI0Z1pTZ3BlMkVvZUN4Y0lpNWtjbUYzUVhKeVlYbHpTVzV6ZEdGdVkyVmtRVTVIVEVVb1hDSXNXMllzYkN4dUxFSmRMRndpS1R0Y0lpbDljVDlUUDJRb0tUb29ZU2hjSW1sbUtGd2lMSEVzWENJcGUxd2lLU3hrS0Nrc1lTaGNJbjFsYkhObGUxd2lLU3hsS0Nrc1lTaGNJbjFjSWlrcE9tVW9LWDFtZFc1amRHbHZiaUJuS0NsN1puVnVZM1JwYjI0Z1pDZ3BlMkVvZWl0Y0lpNWtjbUYzUld4bGJXVnVkSE1vWENJclcyWXNiaXhMTEd3clhDSThQQ2dvWENJclN5dGNJaTAxTVRJeEtUNCtNU2xjSWwwclhDSXBPMXdpS1gxbWRXNWpkR2x2YmlCbEtDbDdZU2g2SzF3aUxtUnlZWGRCY25KaGVYTW9YQ0lyVzJZc2JDeHVYU3RjSWlrN1hDSXBmWEUvVXo5a0tDazZLR0VvWENKcFppaGNJaXh4TEZ3aUtYdGNJaWtzWkNncExHRW9YQ0o5Wld4elpYdGNJaWtzWlNncExHRW9YQ0o5WENJcEtUcGxLQ2w5ZG1GeUlIYzlaQzV6YUdGeVpXUXNlajEzTG1kc0xHMDlkeTVrY21GM0xHczlZeTVrY21GM0xIRTlablZ1WTNScGIyNG9LWHQyWVhJZ1lqMXJMbVZzWlcxbGJuUnpMR2c5WlR0cFppaGlLWHRwWmloaUxtTnZiblJsZUhSRVpYQW1KbU11WTI5dWRHVjRkRVI1Ym1GdGFXTjhmR0l1Y0hKdmNFUmxjQ2xvUFdFN1lqMWlMbUZ3Y0dWdVpDaGtMR2dwZldWc2MyVWdZajFvTG1SbFppaHRMRndpTGx3aUxGd2laV3hsYldWdWRITmNJaWs3WEc1aUppWm9LRndpYVdZb1hDSXJZaXRjSWlsY0lpdDZLMXdpTG1KcGJtUkNkV1ptWlhJb016UTVOak1zWENJcllpdGNJaTVpZFdabVpYSXVZblZtWm1WeUtUdGNJaWs3Y21WMGRYSnVJR0o5S0Nrc1pqMWlLRndpY0hKcGJXbDBhWFpsWENJcExHdzlZaWhjSW05bVpuTmxkRndpS1N4dVBXWjFibU4wYVc5dUtDbDdkbUZ5SUdJOWF5NWpiM1Z1ZEN4b1BXVTdhV1lvWWlsN2FXWW9ZaTVqYjI1MFpYaDBSR1Z3SmlaakxtTnZiblJsZUhSRWVXNWhiV2xqZkh4aUxuQnliM0JFWlhBcGFEMWhPMkk5WWk1aGNIQmxibVFvWkN4b0tYMWxiSE5sSUdJOWFDNWtaV1lvYlN4Y0lpNWNJaXhjSW1OdmRXNTBYQ0lwTzNKbGRIVnliaUJpZlNncE8ybG1LRndpYm5WdFltVnlYQ0k5UFQxMGVYQmxiMllnYmlsN2FXWW9NRDA5UFc0cGNtVjBkWEp1ZldWc2MyVWdZU2hjSW1sbUtGd2lMRzRzWENJcGUxd2lLU3hoTG1WNGFYUW9YQ0o5WENJcE8zWmhjaUJDTEhnN2RHRW1KaWhDUFdJb1hDSnBibk4wWVc1alpYTmNJaWtzZUQxa0xtbHVjM1JoYm1OcGJtY3BPM1poY2lCTFBYRXJYQ0l1ZEhsd1pWd2lMRk05YXk1bGJHVnRaVzUwY3lZbWNpaHJMbVZzWlcxbGJuUnpLVHQwWVNZbUtGd2liblZ0WW1WeVhDSWhQVDEwZVhCbGIyWWdRbng4TUR3OVFpay9YQ0p6ZEhKcGJtZGNJajA5UFhSNWNHVnZaaUJDUHloaEtGd2lhV1lvWENJc1FpeGNJajR3S1h0Y0lpa3NhQ2dwTEdFb1hDSjlaV3h6WlNCcFppaGNJaXhDTEZ4dVhDSThNQ2w3WENJcExHY29LU3hoS0Z3aWZWd2lLU2s2YUNncE9tY29LWDFtZFc1amRHbHZiaUJGWVNoa0xHVXNZU3hpTEdNcGUyVTlZbUVvS1R0alBXVXVjSEp2WXloY0ltSnZaSGxjSWl4aktUdDBZU1ltS0dVdWFXNXpkR0Z1WTJsdVp6MWpMbVJsWmlobExuTm9ZWEpsWkM1bGVIUmxibk5wYjI1ekxGd2lMbUZ1WjJ4bFgybHVjM1JoYm1ObFpGOWhjbkpoZVhOY0lpa3BPMlFvWlN4akxHRXNZaWs3Y21WMGRYSnVJR1V1WTI5dGNHbHNaU2dwTG1KdlpIbDlablZ1WTNScGIyNGdSbUVvWkN4bExHRXNZaWw3Y0dFb1pDeGxLVHRZS0dRc1pTeGhMR0l1WVhSMGNtbGlkWFJsY3l4bWRXNWpkR2x2YmlncGUzSmxkSFZ5YmlFd2ZTazdWQ2hrTEdVc1lTeGlMblZ1YVdadmNtMXpMR1oxYm1OMGFXOXVLQ2w3Y21WMGRYSnVJVEI5S1R0MVlTaGtMR1VzWlN4aEtYMW1kVzVqZEdsdmJpQklZU2hrTEdVcGUzWmhjaUJoUFdRdWNISnZZeWhjSW1SeVlYZGNJaXd4S1R0d1lTaGtMR0VwTzJWaEtHUXNZU3hsTG1OdmJuUmxlSFFwTzA4b1pDeGhMR1V1Wm5KaGJXVmlkV1ptWlhJcE8yaGhLR1FzWVN4bEtUdFJLR1FzWVN4bExuTjBZWFJsS1R0V0tHUXNZU3hsTENFeExDRXdLVHQyWVhJZ1lqMWxMbk5vWVdSbGNpNXdjbTluVm1GeUxtRndjR1Z1WkNoa0xHRXBPMkVvWkM1emFHRnlaV1F1WjJ3c1hDSXVkWE5sVUhKdlozSmhiU2hjSWl4aUxGeHVYQ0l1Y0hKdlozSmhiU2s3WENJcE8ybG1LR1V1YzJoaFpHVnlMbkJ5YjJkeVlXMHBSbUVvWkN4aExHVXNaUzV6YUdGa1pYSXVjSEp2WjNKaGJTazdaV3h6Wlh0MllYSWdZejFrTG1kc2IySmhiQzVrWldZb1hDSjdmVndpS1N4b1BXRXVaR1ZtS0dJc1hDSXVhV1JjSWlrc1p6MWhMbVJsWmloakxGd2lXMXdpTEdnc1hDSmRYQ0lwTzJFb1pDNWpiMjVrS0djcExuUm9aVzRvWnl4Y0lpNWpZV3hzS0hSb2FYTXNZVEFwTzF3aUtWdGNJbVZzYzJWY0lsMG9aeXhjSWoxY0lpeGpMRndpVzF3aUxHZ3NYQ0pkUFZ3aUxHUXViR2x1YXlobWRXNWpkR2x2YmloaEtYdHlaWFIxY200Z1JXRW9SbUVzWkN4bExHRXNNU2w5S1N4Y0lpaGNJaXhpTEZ3aUtUdGNJaXhuTEZ3aUxtTmhiR3dvZEdocGN5eGhNQ2s3WENJcEtYMHdQRTlpYW1WamRDNXJaWGx6S0dVdWMzUmhkR1VwTG14bGJtZDBhQ1ltWVNoa0xuTm9ZWEpsWkM1amRYSnlaVzUwTEZ3aUxtUnBjblI1UFhSeWRXVTdYQ0lwZldaMWJtTjBhVzl1SUVsaEtHUXNaU3hoTEdJcGUyWjFibU4wYVc5dUlHTW9LWHR5WlhSMWNtNGhNSDFrTG1KaGRHTm9TV1E5WENKaE1Wd2lPM0JoS0dRc1pTazdXQ2hrTEdVc1lTeGlMbUYwZEhKcFluVjBaWE1zWXlrN1ZDaGtMR1VzWVN4aUxuVnVhV1p2Y20xekxHTXBPM1ZoS0dRc1pTeGxMR0VwZldaMWJtTjBhVzl1SUVOaEtHVXNZU3hpTEdNcGUyWjFibU4wYVc5dUlHZ29aU2w3Y21WMGRYSnVJR1V1WTI5dWRHVjRkRVJsY0NZbVhHNTNmSHhsTG5CeWIzQkVaWEI5Wm5WdVkzUnBiMjRnWnlobEtYdHlaWFIxY200aGFDaGxLWDF3WVNobExHRXBPM1poY2lCM1BXSXVZMjl1ZEdWNGRFUmxjQ3g2UFdFdVpHVm1LQ2tzYlQxaExtUmxaaWdwTzJVdWMyaGhjbVZrTG5CeWIzQnpQVzA3WlM1aVlYUmphRWxrUFhvN2RtRnlJR3M5WlM1elkyOXdaU2dwTEhFOVpTNXpZMjl3WlNncE8yRW9heTVsYm5SeWVTeGNJbVp2Y2loY0lpeDZMRndpUFRBN1hDSXNlaXhjSWp4Y0lpeGNJbUV4WENJc1hDSTdLeXRjSWl4NkxGd2lLWHRjSWl4dExGd2lQVndpTEZ3aVlUQmNJaXhjSWx0Y0lpeDZMRndpWFR0Y0lpeHhMRndpZlZ3aUxHc3VaWGhwZENrN1lpNXVaV1ZrYzBOdmJuUmxlSFFtSm1WaEtHVXNjU3hpTG1OdmJuUmxlSFFwTzJJdWJtVmxaSE5HY21GdFpXSjFabVpsY2lZbVR5aGxMSEVzWWk1bWNtRnRaV0oxWm1abGNpazdVU2hsTEhFc1lpNXpkR0YwWlN4b0tUdGlMbkJ5YjJacGJHVW1KbWdvWWk1d2NtOW1hV3hsS1NZbVZpaGxMSEVzWWl3aE1Td2hNQ2s3WXo4b1dDaGxMR3NzWWl4akxtRjBkSEpwWW5WMFpYTXNaeWtzV0NobExIRXNZaXhqTG1GMGRISnBZblYwWlhNc2FDa3NWQ2hsTEdzc1lpeGpMblZ1YVdadmNtMXpMR2NwTEZRb1pTeHhMR0lzWXk1MWJtbG1iM0p0Y3l4b0tTeDFZU2hsTEdzc2NTeGlLU2s2S0dFOVpTNW5iRzlpWVd3dVpHVm1LRndpZTMxY0lpa3NZejFpTG5Ob1lXUmxjaTV3Y205blZtRnlMbUZ3Y0dWdVpDaGxMRnh1Y1Nrc2JUMXhMbVJsWmloakxGd2lMbWxrWENJcExHczljUzVrWldZb1lTeGNJbHRjSWl4dExGd2lYVndpS1N4eEtHVXVjMmhoY21Wa0xtZHNMRndpTG5WelpWQnliMmR5WVcwb1hDSXNZeXhjSWk1d2NtOW5jbUZ0S1R0Y0lpeGNJbWxtS0NGY0lpeHJMRndpS1h0Y0lpeHJMRndpUFZ3aUxHRXNYQ0piWENJc2JTeGNJbDA5WENJc1pTNXNhVzVyS0daMWJtTjBhVzl1S0dFcGUzSmxkSFZ5YmlCRllTaEpZU3hsTEdJc1lTd3lLWDBwTEZ3aUtGd2lMR01zWENJcE8zMWNJaXhyTEZ3aUxtTmhiR3dvZEdocGN5eGhNRnRjSWl4NkxGd2lYU3hjSWl4NkxGd2lLVHRjSWlrcGZXWjFibU4wYVc5dUlFUmhLR1VzWVNsN1puVnVZM1JwYjI0Z1lpaGxLWHR5WlhSMWNtNGdaUzVqYjI1MFpYaDBSR1Z3Smlab2ZIeGxMbkJ5YjNCRVpYQjlkbUZ5SUdNOVpTNXdjbTlqS0Z3aVltRjBZMmhjSWl3eUtUdGxMbUpoZEdOb1NXUTlYQ0l3WENJN2NHRW9aU3hqS1R0MllYSWdhRDBoTVN4blBTRXdPMDlpYW1WamRDNXJaWGx6S0dFdVkyOXVkR1Y0ZENrdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlobEtYdG9QV2g4ZkdFdVkyOXVkR1Y0ZEZ0bFhTNXdjbTl3UkdWd2ZTazdhSHg4S0dWaEtHVXNZeXhoTG1OdmJuUmxlSFFwTEdjOUlURXBPM1poY2lCM1BXRXVabkpoYldWaWRXWm1aWElzZWowaE1UdDNQeWgzTG5CeWIzQkVaWEEvYUQxNlBTRXdPbmN1WTI5dWRHVjRkRVJsY0NZbWFDWW1LSG85SVRBcExGeHVlbng4VHlobExHTXNkeWtwT2s4b1pTeGpMRzUxYkd3cE8yRXVjM1JoZEdVdWRtbGxkM0J2Y25RbUptRXVjM1JoZEdVdWRtbGxkM0J2Y25RdWNISnZjRVJsY0NZbUtHZzlJVEFwTzJoaEtHVXNZeXhoS1R0UktHVXNZeXhoTG5OMFlYUmxMR1oxYm1OMGFXOXVLR1VwZTNKbGRIVnliaUZpS0dVcGZTazdZUzV3Y205bWFXeGxKaVppS0dFdWNISnZabWxzWlNsOGZGWW9aU3hqTEdFc0lURXNYQ0poTVZ3aUtUdGhMbU52Ym5SbGVIUkVaWEE5YUR0aExtNWxaV1J6UTI5dWRHVjRkRDFuTzJFdWJtVmxaSE5HY21GdFpXSjFabVpsY2oxNk8yYzlZUzV6YUdGa1pYSXVjSEp2WjFaaGNqdHBaaWhuTG1OdmJuUmxlSFJFWlhBbUptaDhmR2N1Y0hKdmNFUmxjQ2xEWVNobExHTXNZU3h1ZFd4c0tUdGxiSE5sSUdsbUtHYzlaeTVoY0hCbGJtUW9aU3hqS1N4aktHVXVjMmhoY21Wa0xtZHNMRndpTG5WelpWQnliMmR5WVcwb1hDSXNaeXhjSWk1d2NtOW5jbUZ0S1R0Y0lpa3NZUzV6YUdGa1pYSXVjSEp2WjNKaGJTbERZU2hsTEdNc1lTeGhMbk5vWVdSbGNpNXdjbTluY21GdEtUdGxiSE5sZTNaaGNpQjNQV1V1WjJ4dlltRnNMbVJsWmloY0ludDlYQ0lwTEhvOVl5NWtaV1lvWnl4Y0lpNXBaRndpS1N4eFBXTXVaR1ZtS0hjc1hDSmJYQ0lzZWl4Y0lsMWNJaWs3WXlobExtTnZibVFvY1NrdWRHaGxiaWh4TEZ3aUxtTmhiR3dvZEdocGN5eGhNQ3hoTVNrN1hDSXBXMXdpWld4elpWd2lYU2h4TEZ4dVhDSTlYQ0lzZHl4Y0lsdGNJaXg2TEZ3aVhUMWNJaXhsTG14cGJtc29ablZ1WTNScGIyNG9ZaWw3Y21WMGRYSnVJRVZoS0VOaExHVXNZU3hpTERJcGZTa3NYQ0lvWENJc1p5eGNJaWs3WENJc2NTeGNJaTVqWVd4c0tIUm9hWE1zWVRBc1lURXBPMXdpS1NsOU1EeFBZbXBsWTNRdWEyVjVjeWhoTG5OMFlYUmxLUzVzWlc1bmRHZ21KbU1vWlM1emFHRnlaV1F1WTNWeWNtVnVkQ3hjSWk1a2FYSjBlVDEwY25WbE8xd2lLWDFtZFc1amRHbHZiaUJRWVNobExHRXBlMloxYm1OMGFXOXVJR0lvWnlsN2RtRnlJSGM5WVM1emFHRmtaWEpiWjEwN2R5WW1ZeTV6WlhRb2FDNXphR0ZrWlhJc1hDSXVYQ0lyWnl4M0xtRndjR1Z1WkNobExHTXBLWDEyWVhJZ1l6MWxMbkJ5YjJNb1hDSnpZMjl3WlZ3aUxETXBPMlV1WW1GMFkyaEpaRDFjSW1FeVhDSTdkbUZ5SUdnOVpTNXphR0Z5WldRc1p6MW9MbU4xY25KbGJuUTdaV0VvWlN4akxHRXVZMjl1ZEdWNGRDazdZUzVtY21GdFpXSjFabVpsY2lZbVlTNW1jbUZ0WldKMVptWmxjaTVoY0hCbGJtUW9aU3hqS1R0cktFOWlhbVZqZEM1clpYbHpLR0V1YzNSaGRHVXBLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR0lwZTNaaGNpQm5QV0V1YzNSaGRHVmJZbDB1WVhCd1pXNWtLR1VzWXlrN2VTaG5LVDluTG1admNrVmhZMmdvWm5WdVkzUnBiMjRvWVN4b0tYdGpMbk5sZENobExtNWxlSFJiWWwwc1hDSmJYQ0lyYUN0Y0lsMWNJaXhjYm1FcGZTazZZeTV6WlhRb2FDNXVaWGgwTEZ3aUxsd2lLMklzWnlsOUtUdFdLR1VzWXl4aExDRXdMQ0V3S1R0YlhDSmxiR1Z0Wlc1MGMxd2lMRndpYjJabWMyVjBYQ0lzWENKamIzVnVkRndpTEZ3aWFXNXpkR0Z1WTJWelhDSXNYQ0p3Y21sdGFYUnBkbVZjSWwwdVptOXlSV0ZqYUNobWRXNWpkR2x2YmloaUtYdDJZWElnWnoxaExtUnlZWGRiWWwwN1p5WW1ZeTV6WlhRb2FDNWtjbUYzTEZ3aUxsd2lLMklzWENKY0lpdG5MbUZ3Y0dWdVpDaGxMR01wS1gwcE8wOWlhbVZqZEM1clpYbHpLR0V1ZFc1cFptOXliWE1wTG1admNrVmhZMmdvWm5WdVkzUnBiMjRvWWlsN1l5NXpaWFFvYUM1MWJtbG1iM0p0Y3l4Y0lsdGNJaXRtTG1sa0tHSXBLMXdpWFZ3aUxHRXVkVzVwWm05eWJYTmJZbDB1WVhCd1pXNWtLR1VzWXlrcGZTazdUMkpxWldOMExtdGxlWE1vWVM1aGRIUnlhV0oxZEdWektTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHSXBlM1poY2lCb1BXRXVZWFIwY21saWRYUmxjMXRpWFM1aGNIQmxibVFvWlN4aktTeG5QV1V1YzJOdmNHVkJkSFJ5YVdJb1lpazdUMkpxWldOMExtdGxlWE1vYm1WM0lFSmhLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR1VwZTJNdWMyVjBLR2NzWENJdVhDSXJaU3hvVzJWZEtYMHBmU2s3WWloY0luWmxjblJjSWlrN1lpaGNJbVp5WVdkY0lpazdNRHhQWW1wbFkzUXVhMlY1Y3loaExuTjBZWFJsS1M1c1pXNW5kR2dtSmloaktHY3NYRzVjSWk1a2FYSjBlVDEwY25WbE8xd2lLU3hqTG1WNGFYUW9aeXhjSWk1a2FYSjBlVDEwY25WbE8xd2lLU2s3WXloY0ltRXhLRndpTEdVdWMyaGhjbVZrTG1OdmJuUmxlSFFzWENJc1lUQXNYQ0lzWlM1aVlYUmphRWxrTEZ3aUtUdGNJaWw5Wm5WdVkzUnBiMjRnVG1Fb1pTbDdhV1lvWENKdlltcGxZM1JjSWowOVBYUjVjR1Z2WmlCbEppWWhlU2hsS1NsN1ptOXlLSFpoY2lCaFBVOWlhbVZqZEM1clpYbHpLR1VwTEdJOU1EdGlQR0V1YkdWdVozUm9PeXNyWWlscFppaG5MbWx6UkhsdVlXMXBZeWhsVzJGYllsMWRLU2x5WlhSMWNtNGhNRHR5WlhSMWNtNGhNWDE5Wm5WdVkzUnBiMjRnU21Fb1pTeGlMR01wZTJaMWJtTjBhVzl1SUdnb1pTeGhLWHR4TG1admNrVmhZMmdvWm5WdVkzUnBiMjRvWkNsN2RtRnlJR0k5ZDF0a1hUdG5MbWx6UkhsdVlXMXBZeWhpS1NZbUtHSTlaUzVwYm5admEyVW9ZU3hpS1N4aEtHNHNYQ0l1WENJc1pDeGNJajFjSWl4aUxGd2lPMXdpS1NsOUtYMTJZWElnZHoxaVcxd2ljM1JoZEdsalhDSmRXMk5kTzJsbUtIY21KazVoS0hjcEtYdDJZWElnZWoxbExtZHNiMkpoYkN4eFBVOWlhbVZqZEM1clpYbHpLSGNwTEdzOUlURXNiVDBoTVN4bVBTRXhMRzQ5WlM1bmJHOWlZV3d1WkdWbUtGd2llMzFjSWlrN2NTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHSXBlM1poY2lCalBYZGJZbDA3YVdZb1p5NXBjMFI1Ym1GdGFXTW9ZeWtwWENKbWRXNWpkR2x2Ymx3aVBUMDlYRzUwZVhCbGIyWWdZeVltS0dNOWQxdGlYVDFuTG5WdVltOTRLR01wS1N4aVBXRW9ZeXh1ZFd4c0tTeHJQV3Q4ZkdJdWRHaHBjMFJsY0N4bVBXWjhmR0l1Y0hKdmNFUmxjQ3h0UFcxOGZHSXVZMjl1ZEdWNGRFUmxjRHRsYkhObGUzb29iaXhjSWk1Y0lpeGlMRndpUFZ3aUtUdHpkMmwwWTJnb2RIbHdaVzltSUdNcGUyTmhjMlVnWENKdWRXMWlaWEpjSWpwNktHTXBPMkp5WldGck8yTmhjMlVnWENKemRISnBibWRjSWpwNktDZGNJaWNzWXl3blhDSW5LVHRpY21WaGF6dGpZWE5sSUZ3aWIySnFaV04wWENJNlFYSnlZWGt1YVhOQmNuSmhlU2hqS1NZbWVpaGNJbHRjSWl4akxtcHZhVzRvS1N4Y0lsMWNJaWs3WW5KbFlXczdaR1ZtWVhWc2REcDZLR1V1YkdsdWF5aGpLU2w5ZWloY0lqdGNJaWw5ZlNrN1lpNWtlVzVoYldsalcyTmRQVzVsZHlCbkxrUjVibUZ0YVdOV1lYSnBZV0pzWlNnMExIdDBhR2x6UkdWd09tc3NZMjl1ZEdWNGRFUmxjRHB0TEhCeWIzQkVaWEE2Wml4eVpXWTZiaXhoY0hCbGJtUTZhSDBwTzJSbGJHVjBaU0JpVzF3aWMzUmhkR2xqWENKZFcyTmRmWDEyWVhJZ1FtRTlRV0V1VW1WamIzSmtMR05oUFh0aFpHUTZNekkzTnpRc2MzVmlkSEpoWTNRNk16STNOemdzWENKeVpYWmxjbk5sSUhOMVluUnlZV04wWENJNk16STNOemw5TzNRdVpYaDBYMkpzWlc1a1gyMXBibTFoZUNZbUtHTmhMbTFwYmowek1qYzNOU3hqWVM1dFlYZzlNekkzTnpZcE8xeHVkbUZ5SUhSaFBYUXVZVzVuYkdWZmFXNXpkR0Z1WTJWa1gyRnljbUY1Y3l4dllUMTBMbmRsWW1kc1gyUnlZWGRmWW5WbVptVnljeXhsUFh0a2FYSjBlVG9oTUN4d2NtOW1hV3hsT21kaExuQnliMlpwYkdWOUxIbzllMzBzZHoxYlhTeDNZVDE3ZlN4NFlUMTdmVHRTS0Z3aVpHbDBhR1Z5WENJc016QXlOQ2s3VWloY0ltSnNaVzVrTG1WdVlXSnNaVndpTERNd05ESXBPMGNvWENKaWJHVnVaQzVqYjJ4dmNsd2lMRndpWW14bGJtUkRiMnh2Y2x3aUxGc3dMREFzTUN3d1hTazdSeWhjSW1Kc1pXNWtMbVZ4ZFdGMGFXOXVYQ0lzWENKaWJHVnVaRVZ4ZFdGMGFXOXVVMlZ3WVhKaGRHVmNJaXhiTXpJM056UXNNekkzTnpSZEtUdEhLRndpWW14bGJtUXVablZ1WTF3aUxGd2lZbXhsYm1SR2RXNWpVMlZ3WVhKaGRHVmNJaXhiTVN3d0xERXNNRjBwTzFJb1hDSmtaWEIwYUM1bGJtRmliR1ZjSWl3eU9USTVMQ0V3S1R0SEtGd2laR1Z3ZEdndVpuVnVZMXdpTEZ3aVpHVndkR2hHZFc1alhDSXNOVEV6S1R0SEtGd2laR1Z3ZEdndWNtRnVaMlZjSWl4Y0ltUmxjSFJvVW1GdVoyVmNJaXhiTUN3eFhTazdSeWhjSW1SbGNIUm9MbTFoYzJ0Y0lpeGNJbVJsY0hSb1RXRnphMXdpTENFd0tUdEhLRndpWTI5c2IzSk5ZWE5yWENJc1hDSmpiMnh2Y2sxaGMydGNJaXhiSVRBc0lUQXNJVEFzSVRCZEtUdFNLRndpWTNWc2JDNWxibUZpYkdWY0lpd3lPRGcwS1R0SEtGd2lZM1ZzYkM1bVlXTmxYQ0lzWENKamRXeHNSbUZqWlZ3aUxGeHVNVEF5T1NrN1J5aGNJbVp5YjI1MFJtRmpaVndpTEZ3aVpuSnZiblJHWVdObFhDSXNNak13TlNrN1J5aGNJbXhwYm1WWGFXUjBhRndpTEZ3aWJHbHVaVmRwWkhSb1hDSXNNU2s3VWloY0luQnZiSGxuYjI1UFptWnpaWFF1Wlc1aFlteGxYQ0lzTXpJNE1qTXBPMGNvWENKd2IyeDVaMjl1VDJabWMyVjBMbTltWm5ObGRGd2lMRndpY0c5c2VXZHZiazltWm5ObGRGd2lMRnN3TERCZEtUdFNLRndpYzJGdGNHeGxMbUZzY0doaFhDSXNNekk1TWpZcE8xSW9YQ0p6WVcxd2JHVXVaVzVoWW14bFhDSXNNekk1TWpncE8wY29YQ0p6WVcxd2JHVXVZMjkyWlhKaFoyVmNJaXhjSW5OaGJYQnNaVU52ZG1WeVlXZGxYQ0lzV3pFc0lURmRLVHRTS0Z3aWMzUmxibU5wYkM1bGJtRmliR1ZjSWl3eU9UWXdLVHRIS0Z3aWMzUmxibU5wYkM1dFlYTnJYQ0lzWENKemRHVnVZMmxzVFdGemExd2lMQzB4S1R0SEtGd2ljM1JsYm1OcGJDNW1kVzVqWENJc1hDSnpkR1Z1WTJsc1JuVnVZMXdpTEZzMU1Ua3NNQ3d0TVYwcE8wY29YQ0p6ZEdWdVkybHNMbTl3Um5KdmJuUmNJaXhjSW5OMFpXNWphV3hQY0ZObGNHRnlZWFJsWENJc1d6RXdNamdzTnpZNE1DdzNOamd3TERjMk9EQmRLVHRIS0Z3aWMzUmxibU5wYkM1dmNFSmhZMnRjSWl4Y0luTjBaVzVqYVd4UGNGTmxjR0Z5WVhSbFhDSXNXekV3TWprc056WTRNQ3czTmpnd0xEYzJPREJkS1R0U0tGd2ljMk5wYzNOdmNpNWxibUZpYkdWY0lpd3pNRGc1S1R0SEtGd2ljMk5wYzNOdmNpNWliM2hjSWl4Y2Jsd2ljMk5wYzNOdmNsd2lMRnN3TERBc2FDNWtjbUYzYVc1blFuVm1abVZ5VjJsa2RHZ3NhQzVrY21GM2FXNW5RblZtWm1WeVNHVnBaMmgwWFNrN1J5aGNJblpwWlhkd2IzSjBYQ0lzWENKMmFXVjNjRzl5ZEZ3aUxGc3dMREFzYUM1a2NtRjNhVzVuUW5WbVptVnlWMmxrZEdnc2FDNWtjbUYzYVc1blFuVm1abVZ5U0dWcFoyaDBYU2s3ZG1GeUlGRmhQWHRuYkRwb0xHTnZiblJsZUhRNlV5eHpkSEpwYm1kek9tWXNibVY0ZERwNkxHTjFjbkpsYm5RNlpTeGtjbUYzT25Fc1pXeGxiV1Z1ZEhNNmRTeGlkV1ptWlhJNlRTeHphR0ZrWlhJNmRtRXNZWFIwY21saWRYUmxjenBCWVM1emRHRjBaU3gxYm1sbWIzSnRjenBMTEdaeVlXMWxZblZtWm1WeU9rUXNaWGgwWlc1emFXOXVjenAwTEhScGJXVnlPbTFoTEdselFuVm1abVZ5UVhKbmN6cHNmU3hOWVQxN2NISnBiVlI1Y0dWek9rVXNZMjl0Y0dGeVpVWjFibU56T2tJc1lteGxibVJHZFc1amN6cHRMR0pzWlc1a1JYRjFZWFJwYjI1ek9tTmhMSE4wWlc1amFXeFBjSE02V1N4bmJGUjVjR1Z6T2tNc2IzSnBaVzUwWVhScGIyNVVlWEJsT2t4OU8yOWhKaVlvVFdFdVltRmphMEoxWm1abGNqMWJNVEF5T1Ywc1RXRXVaSEpoZDBKMVptWmxjajFHS0hBdWJXRjRSSEpoZDJKMVptWmxjbk1zWm5WdVkzUnBiMjRvWlNsN2NtVjBkWEp1SURBOVBUMWxQMXN3WFRwR0tHVXNablZ1WTNScGIyNG9aU2w3Y21WMGRYSnVJRE0yTURZMEsxeHVaWDBwZlNrcE8zWmhjaUJTWVQwd08zSmxkSFZ5Ym50dVpYaDBPbm9zWTNWeWNtVnVkRHBsTEhCeWIyTnpPbVoxYm1OMGFXOXVLQ2w3ZG1GeUlHRTlZbUVvS1N4aVBXRXVjSEp2WXloY0luQnZiR3hjSWlrc1l6MWhMbkJ5YjJNb1hDSnlaV1p5WlhOb1hDSXBMR2M5WVM1aWJHOWpheWdwTzJJb1p5azdZeWhuS1R0MllYSWdkejFoTG5Ob1lYSmxaQ3g2UFhjdVoyd3NjVDEzTG01bGVIUXNhejEzTG1OMWNuSmxiblE3WnlockxGd2lMbVJwY25SNVBXWmhiSE5sTzF3aUtUdFBLR0VzWWlrN1R5aGhMR01zYm5Wc2JDd2hNQ2s3ZG1GeUlHMDlhQzVuWlhSRmVIUmxibk5wYjI0b1hDSmhibWRzWlY5cGJuTjBZVzVqWldSZllYSnlZWGx6WENJcExHWTdiU1ltS0dZOVlTNXNhVzVyS0cwcEtUdG1iM0lvZG1GeUlHNDlNRHR1UEhBdWJXRjRRWFIwY21saWRYUmxjenNySzI0cGUzWmhjaUJzUFdNdVpHVm1LSGN1WVhSMGNtbGlkWFJsY3l4Y0lsdGNJaXh1TEZ3aVhWd2lLU3hDUFdFdVkyOXVaQ2hzTEZ3aUxtSjFabVpsY2x3aUtUdENMblJvWlc0b2VpeGNJaTVsYm1GaWJHVldaWEowWlhoQmRIUnlhV0pCY25KaGVTaGNJaXh1TEZ3aUtUdGNJaXg2TEZ3aUxtSnBibVJDZFdabVpYSW9YQ0lzTXpRNU5qSXNYQ0lzWENJc2JDeGNJaTVpZFdabVpYSXVZblZtWm1WeUtUdGNJaXg2TEZ3aUxuWmxjblJsZUVGMGRISnBZbEJ2YVc1MFpYSW9YQ0lzYml4Y0lpeGNJaXhzTEZ3aUxuTnBlbVVzWENJc1hHNXNMRndpTG5SNWNHVXNYQ0lzYkN4Y0lpNXViM0p0WVd4cGVtVmtMRndpTEd3c1hDSXVjM1J5YVdSbExGd2lMR3dzWENJdWIyWm1jMlYwS1R0Y0lpbGJYQ0psYkhObFhDSmRLSG9zWENJdVpHbHpZV0pzWlZabGNuUmxlRUYwZEhKcFlrRnljbUY1S0Z3aUxHNHNYQ0lwTzF3aUxIb3NYQ0l1ZG1WeWRHVjRRWFIwY21saU5HWW9YQ0lzYml4Y0lpeGNJaXhzTEZ3aUxuZ3NYQ0lzYkN4Y0lpNTVMRndpTEd3c1hDSXVlaXhjSWl4c0xGd2lMbmNwTzF3aUxHd3NYQ0l1WW5WbVptVnlQVzUxYkd3N1hDSXBPMk1vUWlrN2JTWW1ZeWhtTEZ3aUxuWmxjblJsZUVGMGRISnBZa1JwZG1semIzSkJUa2RNUlNoY0lpeHVMRndpTEZ3aUxHd3NYQ0l1WkdsMmFYTnZjaWs3WENJcGZVOWlhbVZqZEM1clpYbHpLSGRoS1M1bWIzSkZZV05vS0daMWJtTjBhVzl1S0dVcGUzWmhjaUJvUFhkaFcyVmRMSGM5Wnk1a1pXWW9jU3hjSWk1Y0lpeGxLU3h0UFdFdVlteHZZMnNvS1R0dEtGd2lhV1lvWENJc2R5eGNJaWw3WENJc2VpeGNJaTVsYm1GaWJHVW9YQ0lzYUN4Y0lpbDlaV3h6Wlh0Y0lpeDZMRndpTG1ScGMyRmliR1VvWENJc2FDeGNJaWw5WENJc2F5eGNJaTVjSWl4bExGd2lQVndpTEhjc1hDSTdYQ0lwTzJNb2JTazdZaWhjSW1sbUtGd2lMSGNzWENJaFBUMWNJaXhyTEZ3aUxsd2lMR1VzWENJcGUxd2lMRzBzWENKOVhDSXBmU2s3VDJKcVpXTjBMbXRsZVhNb2VHRXBMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9hQ2w3ZG1GeUlIYzllR0ZiYUYwc2JUMWxXMmhkTEdZc1hHNXVMR3c5WVM1aWJHOWpheWdwTzJ3b2VpeGNJaTVjSWl4M0xGd2lLRndpS1R0NUtHMHBQeWgzUFcwdWJHVnVaM1JvTEdZOVlTNW5iRzlpWVd3dVpHVm1LSEVzWENJdVhDSXNhQ2tzYmoxaExtZHNiMkpoYkM1a1pXWW9heXhjSWk1Y0lpeG9LU3hzS0VZb2R5eG1kVzVqZEdsdmJpaGxLWHR5WlhSMWNtNGdaaXRjSWx0Y0lpdGxLMXdpWFZ3aWZTa3NYQ0lwTzF3aUxFWW9keXhtZFc1amRHbHZiaWhsS1h0eVpYUjFjbTRnYml0Y0lsdGNJaXRsSzF3aVhUMWNJaXRtSzF3aVcxd2lLMlVyWENKZE8xd2lmU2t1YW05cGJpaGNJbHdpS1Nrc1lpaGNJbWxtS0Z3aUxFWW9keXhtZFc1amRHbHZiaWhsS1h0eVpYUjFjbTRnWml0Y0lsdGNJaXRsSzF3aVhTRTlQVndpSzI0clhDSmJYQ0lyWlN0Y0lsMWNJbjBwTG1wdmFXNG9YQ0o4ZkZ3aUtTeGNJaWw3WENJc2JDeGNJbjFjSWlrcE9paG1QV2N1WkdWbUtIRXNYQ0l1WENJc2FDa3NiajFuTG1SbFppaHJMRndpTGx3aUxHZ3BMR3dvWml4Y0lpazdYQ0lzYXl4Y0lpNWNJaXhvTEZ3aVBWd2lMR1lzWENJN1hDSXBMR0lvWENKcFppaGNJaXhtTEZ3aUlUMDlYQ0lzYml4Y0lpbDdYQ0lzYkN4Y0luMWNJaWtwTzJNb2JDbDlLVHR5WlhSMWNtNGdZUzVqYjIxd2FXeGxLQ2w5S0Nrc1kyOXRjR2xzWlRwbWRXNWpkR2x2YmlobExHRXNZaXhqTEdncGUzWmhjaUJuUFdKaEtDazdaeTV6ZEdGMGN6MW5MbXhwYm1zb2FDazdUMkpxWldOMExtdGxlWE1vWVZ0Y0luTjBZWFJwWTF3aVhTa3VabTl5UldGamFDaG1kVzVqZEdsdmJpaGxLWHRLWVNobkxGeHVZU3hsS1gwcE8yNHVabTl5UldGamFDaG1kVzVqZEdsdmJpaGhLWHRLWVNobkxHVXNZU2w5S1R0aVBXeGhLR1VzWVN4aUxHTXNaeWs3U0dFb1p5eGlLVHRRWVNobkxHSXBPMFJoS0djc1lpazdjbVYwZFhKdUlHY3VZMjl0Y0dsc1pTZ3BmWDE5ZlN4N1hDSXVMMk52Ym5OMFlXNTBjeTlrZEhsd1pYTXVhbk52Ymx3aU9qUXNYQ0l1TDJOdmJuTjBZVzUwY3k5d2NtbHRhWFJwZG1WekxtcHpiMjVjSWpvMUxGd2lMaTlrZVc1aGJXbGpYQ0k2T0N4Y0lpNHZkWFJwYkM5amIyUmxaMlZ1WENJNk1qRXNYQ0l1TDNWMGFXd3ZhWE10WVhKeVlYa3RiR2xyWlZ3aU9qSTBMRndpTGk5MWRHbHNMMmx6TFc1a1lYSnlZWGxjSWpveU5TeGNJaTR2ZFhScGJDOXBjeTEwZVhCbFpDMWhjbkpoZVZ3aU9qSTJMRndpTGk5MWRHbHNMMnh2YjNCY0lqb3lOMzFkTERnNlcyWjFibU4wYVc5dUtHWXNjQ3gxS1h0bWRXNWpkR2x2YmlCc0tHTXNZU2w3ZEdocGN5NXBaRDF5S3lzN2RHaHBjeTUwZVhCbFBXTTdkR2hwY3k1a1lYUmhQV0Y5Wm5WdVkzUnBiMjRnYXloaktYdHBaaWd3UFQwOVl5NXNaVzVuZEdncGNtVjBkWEp1VzEwN2RtRnlJR0U5WXk1amFHRnlRWFFvTUNrc1lqMWpMbU5vWVhKQmRDaGpMbXhsYm1kMGFDMHhLVHRwWmlneFBHTXViR1Z1WjNSb0ppWmhQVDA5WWlZbUtDZGNJaWM5UFQxaGZIeGNJaWRjSWowOVBXRXBLWEpsZEhWeWJsc25YQ0luSzJNdWMzVmljM1J5S0RFc1hHNWpMbXhsYm1kMGFDMHlLUzV5WlhCc1lXTmxLQzljWEZ4Y0wyY3NYQ0pjWEZ4Y1hGeGNYRndpS1M1eVpYQnNZV05sS0M5Y0lpOW5MQ2RjWEZ4Y1hDSW5LU3NuWENJblhUdHBaaWhoUFM5Y1hGc29abUZzYzJWOGRISjFaWHh1ZFd4c2ZGeGNaQ3Q4SjF0ZUoxMHFKM3hjSWx0ZVhDSmRLbHdpS1Z4Y1hTOHVaWGhsWXloaktTbHlaWFIxY200Z2F5aGpMbk4xWW5OMGNpZ3dMR0V1YVc1a1pYZ3BLUzVqYjI1allYUW9heWhoV3pGZEtTa3VZMjl1WTJGMEtHc29ZeTV6ZFdKemRISW9ZUzVwYm1SbGVDdGhXekJkTG14bGJtZDBhQ2twS1R0aFBXTXVjM0JzYVhRb1hDSXVYQ0lwTzJsbUtERTlQVDFoTG14bGJtZDBhQ2x5WlhSMWNtNWJKMXdpSnl0akxuSmxjR3hoWTJVb0wxeGNYRnd2Wnl4Y0lseGNYRnhjWEZ4Y1hDSXBMbkpsY0d4aFkyVW9MMXdpTDJjc0oxeGNYRnhjSWljcEt5ZGNJaWRkTzJNOVcxMDdabTl5S0dJOU1EdGlQR0V1YkdWdVozUm9PeXNyWWlsalBXTXVZMjl1WTJGMEtHc29ZVnRpWFNrcE8zSmxkSFZ5YmlCamZXWjFibU4wYVc5dUlIZ29ZeWw3Y21WMGRYSnVYQ0piWENJcmF5aGpLUzVxYjJsdUtGd2lYVnRjSWlrclhDSmRYQ0o5ZG1GeUlISTlNRHR3TG1WNGNHOXlkSE05ZTBSNWJtRnRhV05XWVhKcFlXSnNaVHBzTEdSbFptbHVaVHBtZFc1amRHbHZiaWhqTEdFcGUzSmxkSFZ5YmlCdVpYY2diQ2hqTEhnb1lTdGNJbHdpS1NsOUxHbHpSSGx1WVcxcFl6cG1kVzVqZEdsdmJpaGpLWHR5WlhSMWNtNWNJbVoxYm1OMGFXOXVYQ0k5UFQxY2JuUjVjR1Z2WmlCakppWWhZeTVmY21WbmJGUjVjR1Y4ZkdNZ2FXNXpkR0Z1WTJWdlppQnNmU3gxYm1KdmVEcG1kVzVqZEdsdmJpaGpMR0VwZTNKbGRIVnlibHdpWm5WdVkzUnBiMjVjSWowOVBYUjVjR1Z2WmlCalAyNWxkeUJzS0RBc1l5azZZMzBzWVdOalpYTnpiM0k2ZUgxOUxIdDlYU3c1T2x0bWRXNWpkR2x2YmlobUxIQXNkU2w3ZG1GeUlHdzlaaWhjSWk0dmRYUnBiQzlwY3kxMGVYQmxaQzFoY25KaGVWd2lLU3hyUFdZb1hDSXVMM1YwYVd3dmFYTXRibVJoY25KaGVWd2lLU3g0UFdZb1hDSXVMM1YwYVd3dmRtRnNkV1Z6WENJcExISTlaaWhjSWk0dlkyOXVjM1JoYm5SekwzQnlhVzFwZEdsMlpYTXVhbk52Ymx3aUtTeGpQV1lvWENJdUwyTnZibk4wWVc1MGN5OTFjMkZuWlM1cWMyOXVYQ0lwTzNBdVpYaHdiM0owY3oxbWRXNWpkR2x2YmloaExHSXNaaXh3S1h0bWRXNWpkR2x2YmlCMEtHRXBlM1JvYVhNdWFXUTlReXNyTzBWYmRHaHBjeTVwWkYwOWRHaHBjenQwYUdsekxtSjFabVpsY2oxaE8zUm9hWE11Y0hKcGJWUjVjR1U5TkR0MGFHbHpMblI1Y0dVOWRHaHBjeTUyWlhKMFEyOTFiblE5TUgxbWRXNWpkR2x2YmlCNUtHTXNaeXh1TEhJc2VDeG9MSFFwZTJNdVluVm1abVZ5TG1KcGJtUW9LVHRwWmlobktYdDJZWElnZVQxME8zUjhmR3dvWnlrbUppZ2hheWhuS1h4OGJDaG5MbVJoZEdFcEtYeDhLSGs5WWk1dlpYTmZaV3hsYldWdWRGOXBibVJsZUY5MWFXNTBQMXh1TlRFeU5UbzFNVEl6S1R0bUxsOXBibWwwUW5WbVptVnlLR011WW5WbVptVnlMR2NzYml4NUxETXBmV1ZzYzJVZ1lTNWlkV1ptWlhKRVlYUmhLRE0wT1RZekxHZ3NiaWtzWXk1aWRXWm1aWEl1WkhSNWNHVTllWHg4TlRFeU1TeGpMbUoxWm1abGNpNTFjMkZuWlQxdUxHTXVZblZtWm1WeUxtUnBiV1Z1YzJsdmJqMHpMR011WW5WbVptVnlMbUo1ZEdWTVpXNW5kR2c5YUR0NVBYUTdhV1lvSVhRcGUzTjNhWFJqYUNoakxtSjFabVpsY2k1a2RIbHdaU2w3WTJGelpTQTFNVEl4T21OaGMyVWdOVEV5TURwNVBUVXhNakU3WW5KbFlXczdZMkZ6WlNBMU1USXpPbU5oYzJVZ05URXlNanA1UFRVeE1qTTdZbkpsWVdzN1kyRnpaU0ExTVRJMU9tTmhjMlVnTlRFeU5EcDVQVFV4TWpWOVl5NWlkV1ptWlhJdVpIUjVjR1U5ZVgxakxuUjVjR1U5ZVR0blBYZzdNRDVuSmlZb1p6MWpMbUoxWm1abGNpNWllWFJsVEdWdVozUm9MRFV4TWpNOVBUMTVQMmMrUGoweE9qVXhNalU5UFQxNUppWW9aejQrUFRJcEtUdGpMblpsY25SRGIzVnVkRDFuTzJjOWNqc3dQbkltSmloblBUUXNjajFqTG1KMVptWmxjaTVrYVcxbGJuTnBiMjRzTVQwOVBYSW1KaWhuUFRBcExESTlQVDF5SmlZb1p6MHhLU3d6UFQwOWNpWW1LR2M5TkNrcE8yTXVjSEpwYlZSNWNHVTlaMzFtZFc1amRHbHZiaUJuS0dFcGUzQXVaV3hsYldWdWRITkRiM1Z1ZEMwdE8xeHVaR1ZzWlhSbElFVmJZUzVwWkYwN1lTNWlkV1ptWlhJdVpHVnpkSEp2ZVNncE8yRXVZblZtWm1WeVBXNTFiR3g5ZG1GeUlFVTllMzBzUXowd0xFNDllM1ZwYm5RNE9qVXhNakVzZFdsdWRERTJPalV4TWpOOU8ySXViMlZ6WDJWc1pXMWxiblJmYVc1a1pYaGZkV2x1ZENZbUtFNHVkV2x1ZERNeVBUVXhNalVwTzNRdWNISnZkRzkwZVhCbExtSnBibVE5Wm5WdVkzUnBiMjRvS1h0MGFHbHpMbUoxWm1abGNpNWlhVzVrS0NsOU8zWmhjaUJ1UFZ0ZE8zSmxkSFZ5Ym50amNtVmhkR1U2Wm5WdVkzUnBiMjRvWVN4aUtYdG1kVzVqZEdsdmJpQnVLR0VwZTJsbUtHRXBhV1lvWENKdWRXMWlaWEpjSWowOVBYUjVjR1Z2WmlCaEtYZ29ZU2tzUXk1d2NtbHRWSGx3WlQwMExFTXVkbVZ5ZEVOdmRXNTBQV0Y4TUN4RExuUjVjR1U5TlRFeU1UdGxiSE5sZTNaaGNpQmlQVzUxYkd3c1p6MHpOVEEwTkN4dFBTMHhMR1k5TFRFc2REMHdMRUk5TUR0cFppaEJjbkpoZVM1cGMwRnljbUY1S0dFcGZIeHNLR0VwZkh4cktHRXBLV0k5WVR0bGJITmxJR2xtS0Z3aVpHRjBZVndpYVc0Z1lTWW1LR0k5WVM1a1lYUmhLU3hjSW5WellXZGxYQ0pwYmlCaEppWW9aejFqVzJFdWRYTmhaMlZkS1N4Y0luQnlhVzFwZEdsMlpWd2lhVzRnWVNZbUtHMDljbHRoTG5CeWFXMXBkR2wyWlYwcExGd2lZMjkxYm5SY0ltbHVJR0VtSmlobVBXRXVZMjkxYm5SOE1Da3NYRzVjSW5SNWNHVmNJbWx1SUdFbUppaENQVTViWVM1MGVYQmxYU2tzWENKc1pXNW5kR2hjSW1sdUlHRXBkRDFoTG14bGJtZDBhSHd3TzJWc2MyVWdhV1lvZEQxbUxEVXhNak05UFQxQ2ZIdzFNVEl5UFQwOVFpbDBLajB5TzJWc2MyVWdhV1lvTlRFeU5UMDlQVUo4ZkRVeE1qUTlQVDFDS1hRcVBUUTdlU2hETEdJc1p5eHRMR1lzZEN4Q0tYMWxiSE5sSUhnb0tTeERMbkJ5YVcxVWVYQmxQVFFzUXk1MlpYSjBRMjkxYm5ROU1DeERMblI1Y0dVOU5URXlNVHR5WlhSMWNtNGdibjEyWVhJZ2VEMW1MbU55WldGMFpTaHVkV3hzTERNME9UWXpMQ0V3S1N4RFBXNWxkeUIwS0hndVgySjFabVpsY2lrN2NDNWxiR1Z0Wlc1MGMwTnZkVzUwS3lzN2JpaGhLVHR1TGw5eVpXZHNWSGx3WlQxY0ltVnNaVzFsYm5SelhDSTdiaTVmWld4bGJXVnVkSE05UXp0dUxuTjFZbVJoZEdFOVpuVnVZM1JwYjI0b1lTeGlLWHQ0TG5OMVltUmhkR0VvWVN4aUtUdHlaWFIxY200Z2JuMDdiaTVrWlhOMGNtOTVQV1oxYm1OMGFXOXVLQ2w3WnloREtYMDdjbVYwZFhKdUlHNTlMR055WldGMFpWTjBjbVZoYlRwbWRXNWpkR2x2YmloaEtYdDJZWElnWWoxdUxuQnZjQ2dwTzJKOGZDaGlQVzVsZHlCMEtHWXVZM0psWVhSbEtHNTFiR3dzTXpRNU5qTXNJVEFzSVRFcExsOWlkV1ptWlhJcEtUdDVLR0lzWVN3ek5UQTBNQ3d0TVN3dE1Td3dMREFwTzNKbGRIVnliaUJpZlN4Y2JtUmxjM1J5YjNsVGRISmxZVzA2Wm5WdVkzUnBiMjRvWVNsN2JpNXdkWE5vS0dFcGZTeG5aWFJGYkdWdFpXNTBjenBtZFc1amRHbHZiaWhoS1h0eVpYUjFjbTVjSW1aMWJtTjBhVzl1WENJOVBUMTBlWEJsYjJZZ1lTWW1ZUzVmWld4bGJXVnVkSE1nYVc1emRHRnVZMlZ2WmlCMFAyRXVYMlZzWlcxbGJuUnpPbTUxYkd4OUxHTnNaV0Z5T21aMWJtTjBhVzl1S0NsN2VDaEZLUzVtYjNKRllXTm9LR2NwZlgxOWZTeDdYQ0l1TDJOdmJuTjBZVzUwY3k5d2NtbHRhWFJwZG1WekxtcHpiMjVjSWpvMUxGd2lMaTlqYjI1emRHRnVkSE12ZFhOaFoyVXVhbk52Ymx3aU9qWXNYQ0l1TDNWMGFXd3ZhWE10Ym1SaGNuSmhlVndpT2pJMUxGd2lMaTkxZEdsc0wybHpMWFI1Y0dWa0xXRnljbUY1WENJNk1qWXNYQ0l1TDNWMGFXd3ZkbUZzZFdWelhDSTZNekY5WFN3eE1EcGJablZ1WTNScGIyNG9aaXh3TEhVcGUzQXVaWGh3YjNKMGN6MW1kVzVqZEdsdmJpaG1MR3NwZTJaMWJtTjBhVzl1SUhnb1lTbDdZVDFoTG5SdlRHOTNaWEpEWVhObEtDazdkbUZ5SUdNN2RISjVlMk05Y2x0aFhUMW1MbWRsZEVWNGRHVnVjMmx2YmloaEtYMWpZWFJqYUNocktYdDljbVYwZFhKdUlTRmpmV1p2Y2loMllYSWdjajE3ZlN4alBUQTdZenhyTG1WNGRHVnVjMmx2Ym5NdWJHVnVaM1JvT3lzcll5bDdkbUZ5SUdFOWF5NWxlSFJsYm5OcGIyNXpXMk5kTzJsbUtDRjRLR0VwS1hKbGRIVnliaUJyTG05dVJHVnpkSEp2ZVNncExGeHVheTV2YmtSdmJtVW9KMXdpSnl0aEt5ZGNJaUJsZUhSbGJuTnBiMjRnYVhNZ2JtOTBJSE4xY0hCdmNuUmxaQ0JpZVNCMGFHVWdZM1Z5Y21WdWRDQlhaV0pIVENCamIyNTBaWGgwTENCMGNua2dkWEJuY21Ga2FXNW5JSGx2ZFhJZ2MzbHpkR1Z0SUc5eUlHRWdaR2xtWm1WeVpXNTBJR0p5YjNkelpYSW5LU3h1ZFd4c2ZXc3ViM0IwYVc5dVlXeEZlSFJsYm5OcGIyNXpMbVp2Y2tWaFkyZ29lQ2s3Y21WMGRYSnVlMlY0ZEdWdWMybHZibk02Y2l4eVpYTjBiM0psT21aMWJtTjBhVzl1S0NsN1QySnFaV04wTG10bGVYTW9jaWt1Wm05eVJXRmphQ2htZFc1amRHbHZiaWhoS1h0cFppZ2hlQ2hoS1NsMGFISnZkeUJGY25KdmNpaGNJaWh5Wldkc0tUb2daWEp5YjNJZ2NtVnpkRzl5YVc1bklHVjRkR1Z1YzJsdmJpQmNJaXRoS1R0OUtYMTlmWDBzZTMxZExERXhPbHRtZFc1amRHbHZiaWhtTEhBc2RTbDdkbUZ5SUd3OVppaGNJaTR2ZFhScGJDOTJZV3gxWlhOY0lpa3NhejFtS0Z3aUxpOTFkR2xzTDJWNGRHVnVaRndpS1N4NFBWdGRPM2hiTmpRd09GMDlORHQyWVhJZ2NqMWJYVHR5V3pVeE1qRmRQVEU3Y2xzMU1USTJYVDAwTzNKYk16WXhPVE5kUFRJN2NDNWxlSEJ2Y25SelBXWjFibU4wYVc5dUtHTXNZU3hpTEdZc2NDeDBLWHRtZFc1amRHbHZiaUI1S0dFc1l5eGlLWHQwYUdsekxuUmhjbWRsZEQxaE8zUm9hWE11ZEdWNGRIVnlaVDFjYm1NN2RHaHBjeTV5Wlc1a1pYSmlkV1ptWlhJOVlqdDJZWElnYUQxaFBUQTdZejhvWVQxakxuZHBaSFJvTEdnOVl5NW9aV2xuYUhRcE9tSW1KaWhoUFdJdWQybGtkR2dzYUQxaUxtaGxhV2RvZENrN2RHaHBjeTUzYVdSMGFEMWhPM1JvYVhNdWFHVnBaMmgwUFdoOVpuVnVZM1JwYjI0Z1p5aGhLWHRoSmlZb1lTNTBaWGgwZFhKbEppWmhMblJsZUhSMWNtVXVYM1JsZUhSMWNtVXVaR1ZqVW1WbUtDa3NZUzV5Wlc1a1pYSmlkV1ptWlhJbUptRXVjbVZ1WkdWeVluVm1abVZ5TGw5eVpXNWtaWEppZFdabVpYSXVaR1ZqVW1WbUtDa3BmV1oxYm1OMGFXOXVJRVVvWVN4akxHSXBlMkVtSmloaExuUmxlSFIxY21VL1lTNTBaWGgwZFhKbExsOTBaWGgwZFhKbExuSmxaa052ZFc1MEt6MHhPbUV1Y21WdVpHVnlZblZtWm1WeUxsOXlaVzVrWlhKaWRXWm1aWEl1Y21WbVEyOTFiblFyUFRFcGZXWjFibU4wYVc5dUlFTW9ZU3hpS1h0aUppWW9ZaTUwWlhoMGRYSmxQMk11Wm5KaGJXVmlkV1ptWlhKVVpYaDBkWEpsTWtRb016WXhOakFzWVN4aUxuUmhjbWRsZEN4aUxuUmxlSFIxY21VdVgzUmxlSFIxY21VdWRHVjRkSFZ5WlN3d0tUcGpMbVp5WVcxbFluVm1abVZ5VW1WdVpHVnlZblZtWm1WeUtETTJNVFl3TEdFc016WXhOakVzWWk1eVpXNWtaWEppZFdabVpYSXVYM0psYm1SbGNtSjFabVpsY2k1eVpXNWtaWEppZFdabVpYSXBLWDFjYm1aMWJtTjBhVzl1SUU0b1lTbDdkbUZ5SUdJOU16VTFNeXhqUFc1MWJHd3NhRDF1ZFd4c0xHYzlZVHRjSW05aWFtVmpkRndpUFQwOWRIbHdaVzltSUdFbUppaG5QV0V1WkdGMFlTeGNJblJoY21kbGRGd2lhVzRnWVNZbUtHSTlZUzUwWVhKblpYUjhNQ2twTzJFOVp5NWZjbVZuYkZSNWNHVTdYQ0owWlhoMGRYSmxNbVJjSWowOVBXRS9ZejFuT2x3aWRHVjRkSFZ5WlVOMVltVmNJajA5UFdFL1l6MW5PbHdpY21WdVpHVnlZblZtWm1WeVhDSTlQVDFoSmlZb2FEMW5MR0k5TXpZeE5qRXBPM0psZEhWeWJpQnVaWGNnZVNoaUxHTXNhQ2w5Wm5WdVkzUnBiMjRnYmloaExHSXNZeXhvTEdjcGUybG1LR01wY21WMGRYSnVJR0U5Wmk1amNtVmhkR1V5UkNoN2QybGtkR2c2WVN4b1pXbG5hSFE2WWl4bWIzSnRZWFE2YUN4MGVYQmxPbWQ5S1N4aExsOTBaWGgwZFhKbExuSmxaa052ZFc1MFBUQXNibVYzSUhrb016VTFNeXhoTEc1MWJHd3BPMkU5Y0M1amNtVmhkR1VvZTNkcFpIUm9PbUVzYUdWcFoyaDBPbUlzWm05eWJXRjBPbWg5S1R0aExsOXlaVzVrWlhKaWRXWm1aWEl1Y21WbVEyOTFiblE5TUR0eVpYUjFjbTRnYm1WM0lIa29Nell4TmpFc2JuVnNiQ3hoS1gxbWRXNWpkR2x2YmlCdEtHRXBlM0psZEhWeWJpQmhKaVlvWVM1MFpYaDBkWEpsZkh4aExuSmxibVJsY21KMVptWmxjaWw5Wm5WdVkzUnBiMjRnUWloaExHSXNZeWw3WVNZbVhHNG9ZUzUwWlhoMGRYSmxQMkV1ZEdWNGRIVnlaUzV5WlhOcGVtVW9ZaXhqS1RwaExuSmxibVJsY21KMVptWmxjaVltWVM1eVpXNWtaWEppZFdabVpYSXVjbVZ6YVhwbEtHSXNZeWtwZldaMWJtTjBhVzl1SUhVb0tYdDBhR2x6TG1sa1BWb3JLenRFVzNSb2FYTXVhV1JkUFhSb2FYTTdkR2hwY3k1bWNtRnRaV0oxWm1abGNqMWpMbU55WldGMFpVWnlZVzFsWW5WbVptVnlLQ2s3ZEdocGN5NW9aV2xuYUhROWRHaHBjeTUzYVdSMGFEMHdPM1JvYVhNdVkyOXNiM0pCZEhSaFkyaHRaVzUwY3oxYlhUdDBhR2x6TG1SbGNIUm9VM1JsYm1OcGJFRjBkR0ZqYUcxbGJuUTlkR2hwY3k1emRHVnVZMmxzUVhSMFlXTm9iV1Z1ZEQxMGFHbHpMbVJsY0hSb1FYUjBZV05vYldWdWREMXVkV3hzZldaMWJtTjBhVzl1SUV3b1lTbDdZUzVqYjJ4dmNrRjBkR0ZqYUcxbGJuUnpMbVp2Y2tWaFkyZ29aeWs3WnloaExtUmxjSFJvUVhSMFlXTm9iV1Z1ZENrN1p5aGhMbk4wWlc1amFXeEJkSFJoWTJodFpXNTBLVHRuS0dFdVpHVndkR2hUZEdWdVkybHNRWFIwWVdOb2JXVnVkQ2w5Wm5WdVkzUnBiMjRnU0NoaEtYdGpMbVJsYkdWMFpVWnlZVzFsWW5WbVptVnlLR0V1Wm5KaGJXVmlkV1ptWlhJcE8yRXVabkpoYldWaWRXWm1aWEk5Ym5Wc2JEdDBMbVp5WVcxbFluVm1abVZ5UTI5MWJuUXRMVHRrWld4bGRHVWdSRnRoTG1sa1hYMWNibVoxYm1OMGFXOXVJR2dvWVNsN2RtRnlJR2c3WXk1aWFXNWtSbkpoYldWaWRXWm1aWElvTXpZeE5qQXNZUzVtY21GdFpXSjFabVpsY2lrN2RtRnlJR2M5WVM1amIyeHZja0YwZEdGamFHMWxiblJ6TzJadmNpaG9QVEE3YUR4bkxteGxibWQwYURzcksyZ3BReWd6TmpBMk5DdG9MR2RiYUYwcE8yWnZjaWhvUFdjdWJHVnVaM1JvTzJnOFlpNXRZWGhEYjJ4dmNrRjBkR0ZqYUcxbGJuUnpPeXNyYUNsakxtWnlZVzFsWW5WbVptVnlWR1Y0ZEhWeVpUSkVLRE0yTVRZd0xETTJNRFkwSzJnc016VTFNeXh1ZFd4c0xEQXBPMk11Wm5KaGJXVmlkV1ptWlhKVVpYaDBkWEpsTWtRb016WXhOakFzTXpNek1EWXNNelUxTXl4dWRXeHNMREFwTzJNdVpuSmhiV1ZpZFdabVpYSlVaWGgwZFhKbE1rUW9Nell4TmpBc016WXdPVFlzTXpVMU15eHVkV3hzTERBcE8yTXVabkpoYldWaWRXWm1aWEpVWlhoMGRYSmxNa1FvTXpZeE5qQXNNell4TWpnc016VTFNeXh1ZFd4c0xEQXBPME1vTXpZd09UWXNZUzVrWlhCMGFFRjBkR0ZqYUcxbGJuUXBPME1vTXpZeE1qZ3NZUzV6ZEdWdVkybHNRWFIwWVdOb2JXVnVkQ2s3UXlnek16TXdOaXhoTG1SbGNIUm9VM1JsYm1OcGJFRjBkR0ZqYUcxbGJuUXBPMk11WTJobFkydEdjbUZ0WldKMVptWmxjbE4wWVhSMWN5Z3pOakUyTUNrN1l5NWlhVzVrUm5KaGJXVmlkV1ptWlhJb016WXhOakFzWEc1TFlTNXVaWGgwS1R0TFlTNWpkWEk5UzJFdWJtVjRkRHRqTG1kbGRFVnljbTl5S0NsOVpuVnVZM1JwYjI0Z1ptRW9ZU3hpS1h0bWRXNWpkR2x2YmlCaktHRXNZaWw3ZG1GeUlHc3NaajB3TEd3OU1DeDBQU0V3TEhrOUlUQTdhejF1ZFd4c08zWmhjaUJDUFNFd0xFTTlYQ0p5WjJKaFhDSXNSajFjSW5WcGJuUTRYQ0lzY0QweExFMDliblZzYkN4SVBXNTFiR3dzZFQxdWRXeHNMRms5SVRFN2FXWW9YQ0p1ZFcxaVpYSmNJajA5UFhSNWNHVnZaaUJoS1dZOVlYd3dMR3c5WW53d2ZIeG1PMlZzYzJVZ2FXWW9ZU2w3WENKemFHRndaVndpYVc0Z1lUOG9iRDFoTG5Ob1lYQmxMR1k5YkZzd1hTeHNQV3hiTVYwcE9paGNJbkpoWkdsMWMxd2lhVzRnWVNZbUtHWTliRDFoTG5KaFpHbDFjeWtzWENKM2FXUjBhRndpYVc0Z1lTWW1LR1k5WVM1M2FXUjBhQ2tzWENKb1pXbG5hSFJjSW1sdUlHRW1KaWhzUFdFdWFHVnBaMmgwS1NrN2FXWW9YQ0pqYjJ4dmNsd2lhVzRnWVh4OFhDSmpiMnh2Y25OY0ltbHVJR0VwYXoxaExtTnZiRzl5Zkh4aExtTnZiRzl5Y3l4QmNuSmhlUzVwYzBGeWNtRjVLR3NwTzJsbUtDRnJLWHRjSW1OdmJHOXlRMjkxYm5SY0ltbHVJR0VtSmlod1BXRXVZMjlzYjNKRGIzVnVkSHd3S1R0Y0ltTnZiRzl5VkdWNGRIVnlaVndpYVc0Z1lTWW1LRUk5SVNGaExtTnZiRzl5VkdWNGRIVnlaU3hEUFZ3aWNtZGlZVFJjSWlrN2FXWW9YQ0pqYjJ4dmNsUjVjR1ZjSW1sdVhHNWhKaVlvUmoxaExtTnZiRzl5Vkhsd1pTd2hRaWtwYVdZb1hDSm9ZV3htSUdac2IyRjBYQ0k5UFQxR2ZIeGNJbVpzYjJGME1UWmNJajA5UFVZcFF6MWNJbkpuWW1FeE5tWmNJanRsYkhObElHbG1LRndpWm14dllYUmNJajA5UFVaOGZGd2labXh2WVhRek1sd2lQVDA5UmlsRFBWd2ljbWRpWVRNeVpsd2lPMXdpWTI5c2IzSkdiM0p0WVhSY0ltbHVJR0VtSmloRFBXRXVZMjlzYjNKR2IzSnRZWFFzTUR3OVRHRXVhVzVrWlhoUFppaERLVDlDUFNFd09qQThQWHBoTG1sdVpHVjRUMllvUXlrbUppaENQU0V4S1NsOWFXWW9YQ0prWlhCMGFGUmxlSFIxY21WY0ltbHVJR0Y4ZkZ3aVpHVndkR2hUZEdWdVkybHNWR1Y0ZEhWeVpWd2lhVzRnWVNsWlBTRW9JV0V1WkdWd2RHaFVaWGgwZFhKbEppWWhZUzVrWlhCMGFGTjBaVzVqYVd4VVpYaDBkWEpsS1R0Y0ltUmxjSFJvWENKcGJpQmhKaVlvWENKaWIyOXNaV0Z1WENJOVBUMTBlWEJsYjJZZ1lTNWtaWEIwYUQ5MFBXRXVaR1Z3ZEdnNktFMDlZUzVrWlhCMGFDeDVQU0V4S1NrN1hDSnpkR1Z1WTJsc1hDSnBiaUJoSmlZb1hDSmliMjlzWldGdVhDSTlQVDEwZVhCbGIyWWdZUzV6ZEdWdVkybHNQM2s5WVM1emRHVnVZMmxzT2loSVBXRXVjM1JsYm1OcGJDeDBQU0V4S1NrN1hDSmtaWEIwYUZOMFpXNWphV3hjSW1sdUlHRW1KaWhjSW1KdmIyeGxZVzVjSWowOVBYUjVjR1Z2WmlCaExtUmxjSFJvVTNSbGJtTnBiRDkwUFhrOVlTNWtaWEIwYUZOMFpXNWphV3c2WEc0b2RUMWhMbVJsY0hSb1UzUmxibU5wYkN4NVBYUTlJVEVwS1gxbGJITmxJR1k5YkQweE8zWmhjaUJFUFc1MWJHd3NabUU5Ym5Wc2JDeExQVzUxYkd3c1R6MXVkV3hzTzJsbUtFRnljbUY1TG1selFYSnlZWGtvYXlrcFJEMXJMbTFoY0NoT0tUdGxiSE5sSUdsbUtHc3BSRDFiVGlocktWMDdaV3h6WlNCbWIzSW9SRDFCY25KaGVTaHdLU3hyUFRBN2F6eHdPeXNyYXlsRVcydGRQVzRvWml4c0xFSXNReXhHS1R0bVBXWjhmRVJiTUYwdWQybGtkR2c3YkQxc2ZIeEVXekJkTG1obGFXZG9kRHROUDJaaFBVNG9UU2s2ZENZbUlYa21KaWhtWVQxdUtHWXNiQ3haTEZ3aVpHVndkR2hjSWl4Y0luVnBiblF6TWx3aUtTazdTRDlMUFU0b1NDazZlU1ltSVhRbUppaExQVzRvWml4c0xDRXhMRndpYzNSbGJtTnBiRndpTEZ3aWRXbHVkRGhjSWlrcE8zVS9UejFPS0hVcE9pRk5KaVloU0NZbWVTWW1kQ1ltS0U4OWJpaG1MR3dzV1N4Y0ltUmxjSFJvSUhOMFpXNWphV3hjSWl4Y0ltUmxjSFJvSUhOMFpXNWphV3hjSWlrcE8zUTliblZzYkR0bWIzSW9hejB3TzJzOFJDNXNaVzVuZEdnN0t5dHJLVVVvUkZ0clhTeG1MR3dwTEVSYmExMG1Ka1JiYTEwdWRHVjRkSFZ5WlNZbUtIazllRnRFVzJ0ZExuUmxlSFIxY21VdVgzUmxlSFIxY21VdVptOXliV0YwWFNweVcwUmJhMTB1ZEdWNGRIVnlaUzVmZEdWNGRIVnlaUzUwZVhCbFhTeHVkV3hzUFQwOVhHNTBKaVlvZEQxNUtTazdSU2htWVN4bUxHd3BPMFVvU3l4bUxHd3BPMFVvVHl4bUxHd3BPMHdvWnlrN1p5NTNhV1IwYUQxbU8yY3VhR1ZwWjJoMFBXdzdaeTVqYjJ4dmNrRjBkR0ZqYUcxbGJuUnpQVVE3Wnk1a1pYQjBhRUYwZEdGamFHMWxiblE5Wm1FN1p5NXpkR1Z1WTJsc1FYUjBZV05vYldWdWREMUxPMmN1WkdWd2RHaFRkR1Z1WTJsc1FYUjBZV05vYldWdWREMVBPMk11WTI5c2IzSTlSQzV0WVhBb2JTazdZeTVrWlhCMGFEMXRLR1poS1R0akxuTjBaVzVqYVd3OWJTaExLVHRqTG1SbGNIUm9VM1JsYm1OcGJEMXRLRThwTzJNdWQybGtkR2c5Wnk1M2FXUjBhRHRqTG1obGFXZG9kRDFuTG1obGFXZG9kRHRvS0djcE8zSmxkSFZ5YmlCamZYWmhjaUJuUFc1bGR5QjFPM1F1Wm5KaGJXVmlkV1ptWlhKRGIzVnVkQ3NyTzJNb1lTeGlLVHR5WlhSMWNtNGdheWhqTEh0eVpYTnBlbVU2Wm5WdVkzUnBiMjRvWVN4aUtYdDJZWElnYXoxaGZEQXNaajFpZkRCOGZHczdhV1lvYXowOVBXY3VkMmxrZEdnbUptWTlQVDFuTG1obGFXZG9kQ2x5WlhSMWNtNGdZenRtYjNJb2RtRnlJRzA5Wnk1amIyeHZja0YwZEdGamFHMWxiblJ6TEd3OU1EdHNQRzB1YkdWdVozUm9PeXNyYkNsQ0tHMWJiRjBzYXl4bUtUdENLR2N1WkdWd2RHaEJkSFJoWTJodFpXNTBMR3NzWmlrN1FpaG5Mbk4wWlc1amFXeEJkSFJoWTJodFpXNTBMRnh1YXl4bUtUdENLR2N1WkdWd2RHaFRkR1Z1WTJsc1FYUjBZV05vYldWdWRDeHJMR1lwTzJjdWQybGtkR2c5WXk1M2FXUjBhRDFyTzJjdWFHVnBaMmgwUFdNdWFHVnBaMmgwUFdZN2FDaG5LVHR5WlhSMWNtNGdZMzBzWDNKbFoyeFVlWEJsT2x3aVpuSmhiV1ZpZFdabVpYSmNJaXhmWm5KaGJXVmlkV1ptWlhJNlp5eGtaWE4wY205NU9tWjFibU4wYVc5dUtDbDdTQ2huS1R0TUtHY3BmWDBwZlhaaGNpQkxZVDE3WTNWeU9tNTFiR3dzYm1WNGREcHVkV3hzTEdScGNuUjVPaUV4ZlN4TVlUMWJYQ0p5WjJKaFhDSmRMSHBoUFZ0Y0luSm5ZbUUwWENJc1hDSnlaMkkxTmpWY0lpeGNJbkpuWWpVZ1lURmNJbDA3WVM1bGVIUmZjM0puWWlZbWVtRXVjSFZ6YUNoY0luTnlaMkpoWENJcE8yRXVaWGgwWDJOdmJHOXlYMkoxWm1abGNsOW9ZV3htWDJac2IyRjBKaVo2WVM1d2RYTm9LRndpY21kaVlURTJabHdpTEZ3aWNtZGlNVFptWENJcE8yRXVkMlZpWjJ4ZlkyOXNiM0pmWW5WbVptVnlYMlpzYjJGMEppWjZZUzV3ZFhOb0tGd2ljbWRpWVRNeVpsd2lLVHQyWVhJZ1IyRTlXMXdpZFdsdWREaGNJbDA3WVM1dlpYTmZkR1Y0ZEhWeVpWOW9ZV3htWDJac2IyRjBKaVpIWVM1d2RYTm9LRndpYUdGc1ppQm1iRzloZEZ3aUxGd2labXh2WVhReE5sd2lLVHRoTG05bGMxOTBaWGgwZFhKbFgyWnNiMkYwSmlaSFlTNXdkWE5vS0Z3aVpteHZZWFJjSWl4Y0ltWnNiMkYwTXpKY0lpazdkbUZ5SUZvOVhHNHdMRVE5ZTMwN2NtVjBkWEp1SUdzb1MyRXNlMmRsZEVaeVlXMWxZblZtWm1WeU9tWjFibU4wYVc5dUtHRXBlM0psZEhWeWJsd2lablZ1WTNScGIyNWNJajA5UFhSNWNHVnZaaUJoSmlaY0ltWnlZVzFsWW5WbVptVnlYQ0k5UFQxaExsOXlaV2RzVkhsd1pTWW1LR0U5WVM1ZlpuSmhiV1ZpZFdabVpYSXNZU0JwYm5OMFlXNWpaVzltSUhVcFAyRTZiblZzYkgwc1kzSmxZWFJsT21aaExHTnlaV0YwWlVOMVltVTZablZ1WTNScGIyNG9ZU2w3Wm5WdVkzUnBiMjRnWXloaEtYdDJZWElnWnl4b1BYdGpiMnh2Y2pwdWRXeHNmU3h0UFRBc2JEMXVkV3hzTzJjOVhDSnlaMkpoWENJN2RtRnlJRzQ5WENKMWFXNTBPRndpTEhJOU1UdHBaaWhjSW01MWJXSmxjbHdpUFQwOWRIbHdaVzltSUdFcGJUMWhmREE3Wld4elpTQnBaaWhoS1h0Y0luTm9ZWEJsWENKcGJpQmhQMjA5WVM1emFHRndaVnN3WFRvb1hDSnlZV1JwZFhOY0ltbHVJR0VtSmlodFBXRXVjbUZrYVhWemZEQXBMRndpZDJsa2RHaGNJbWx1SUdFL2JUMWhMbmRwWkhSb2ZEQTZYQ0pvWldsbmFIUmNJbWx1SUdFbUppaHRQV0V1YUdWcFoyaDBmREFwS1R0cFppaGNJbU52Ykc5eVhDSnBiaUJoZkh4Y0ltTnZiRzl5YzF3aWFXNGdZU2xzUFdFdVkyOXNiM0o4ZkdFdVkyOXNiM0p6TEVGeWNtRjVMbWx6UVhKeVlYa29iQ2s3Ykh4OEtGd2lZMjlzYjNKRGIzVnVkRndpYVc0Z1lTWW1LSEk5WVM1amIyeHZja052ZFc1MGZGeHVNQ2tzWENKamIyeHZjbFI1Y0dWY0ltbHVJR0VtSmlodVBXRXVZMjlzYjNKVWVYQmxLU3hjSW1OdmJHOXlSbTl5YldGMFhDSnBiaUJoSmlZb1p6MWhMbU52Ykc5eVJtOXliV0YwS1NrN1hDSmtaWEIwYUZ3aWFXNGdZU1ltS0dndVpHVndkR2c5WVM1a1pYQjBhQ2s3WENKemRHVnVZMmxzWENKcGJpQmhKaVlvYUM1emRHVnVZMmxzUFdFdWMzUmxibU5wYkNrN1hDSmtaWEIwYUZOMFpXNWphV3hjSW1sdUlHRW1KaWhvTG1SbGNIUm9VM1JsYm1OcGJEMWhMbVJsY0hSb1UzUmxibU5wYkNsOVpXeHpaU0J0UFRFN2FXWW9iQ2xwWmloQmNuSmhlUzVwYzBGeWNtRjVLR3dwS1dadmNpaGhQVnRkTEdjOU1EdG5QR3d1YkdWdVozUm9PeXNyWnlsaFcyZGRQV3hiWjEwN1pXeHpaU0JoUFZ0c1hUdGxiSE5sSUdadmNpaGhQVUZ5Y21GNUtISXBMR3c5ZTNKaFpHbDFjenB0TEdadmNtMWhkRHBuTEhSNWNHVTZibjBzWnowd08yYzhjanNySzJjcFlWdG5YVDFtTG1OeVpXRjBaVU4xWW1Vb2JDazdhQzVqYjJ4dmNqMUJjbkpoZVNoaExteGxibWQwYUNrN1ptOXlLR2M5TUR0blBHRXViR1Z1WjNSb095c3JaeWx5UFdGYloxMHNiVDF0Zkh4eUxuZHBaSFJvTEdndVkyOXNiM0piWjEwOWUzUmhjbWRsZERvek5EQTJPU3hrWVhSaE9tRmJaMTE5TzJadmNpaG5QVEE3Tmo1bk95c3JaeWw3Wm05eUtISTlNRHR5UEdFdWJHVnVaM1JvT3lzcmNpbG9MbU52Ykc5eVczSmRMblJoY21kbGREMWNiak0wTURZNUsyYzdNRHhuSmlZb2FDNWtaWEIwYUQxaVd6QmRMbVJsY0hSb0xHZ3VjM1JsYm1OcGJEMWlXekJkTG5OMFpXNWphV3dzYUM1a1pYQjBhRk4wWlc1amFXdzlZbHN3WFM1a1pYQjBhRk4wWlc1amFXd3BPMmxtS0dKYloxMHBZbHRuWFNob0tUdGxiSE5sSUdKYloxMDlabUVvYUNsOWNtVjBkWEp1SUdzb1l5eDdkMmxrZEdnNmJTeG9aV2xuYUhRNmJTeGpiMnh2Y2pwaGZTbDlkbUZ5SUdJOVFYSnlZWGtvTmlrN1l5aGhLVHR5WlhSMWNtNGdheWhqTEh0bVlXTmxjenBpTEhKbGMybDZaVHBtZFc1amRHbHZiaWhoS1h0MllYSWdaejFoZkRBN2FXWW9aejA5UFdNdWQybGtkR2dwY21WMGRYSnVJR003ZG1GeUlHZzlZeTVqYjJ4dmNqdG1iM0lvWVQwd08yRThhQzVzWlc1bmRHZzdLeXRoS1doYllWMHVjbVZ6YVhwbEtHY3BPMlp2Y2loaFBUQTdOajVoT3lzcllTbGlXMkZkTG5KbGMybDZaU2huS1R0akxuZHBaSFJvUFdNdWFHVnBaMmgwUFdjN2NtVjBkWEp1SUdOOUxGOXlaV2RzVkhsd1pUcGNJbVp5WVcxbFluVm1abVZ5UTNWaVpWd2lMR1JsYzNSeWIzazZablZ1WTNScGIyNG9LWHRpTG1admNrVmhZMmdvWm5WdVkzUnBiMjRvWVNsN1lTNWtaWE4wY205NUtDbDlLWDE5S1gwc1kyeGxZWEk2Wm5WdVkzUnBiMjRvS1h0c0tFUXBMbVp2Y2tWaFkyZ29TQ2w5TEhKbGMzUnZjbVU2Wm5WdVkzUnBiMjRvS1h0c0tFUXBMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9ZU2w3WVM1bWNtRnRaV0oxWm1abGNqMWNibU11WTNKbFlYUmxSbkpoYldWaWRXWm1aWElvS1R0b0tHRXBmU2w5ZlNsOWZTeDdYQ0l1TDNWMGFXd3ZaWGgwWlc1a1hDSTZNaklzWENJdUwzVjBhV3d2ZG1Gc2RXVnpYQ0k2TXpGOVhTd3hNanBiWm5WdVkzUnBiMjRvWml4d0xIVXBlM0F1Wlhod2IzSjBjejFtZFc1amRHbHZiaWhtTEdzcGUzWmhjaUI0UFRFN2F5NWxlSFJmZEdWNGRIVnlaVjltYVd4MFpYSmZZVzVwYzI5MGNtOXdhV01tSmloNFBXWXVaMlYwVUdGeVlXMWxkR1Z5S0RNME1EUTNLU2s3ZG1GeUlISTlNU3hqUFRFN2F5NTNaV0puYkY5a2NtRjNYMkoxWm1abGNuTW1KaWh5UFdZdVoyVjBVR0Z5WVcxbGRHVnlLRE0wT0RVeUtTeGpQV1l1WjJWMFVHRnlZVzFsZEdWeUtETTJNRFl6S1NrN2NtVjBkWEp1ZTJOdmJHOXlRbWwwY3pwYlppNW5aWFJRWVhKaGJXVjBaWElvTXpReE1Da3NaaTVuWlhSUVlYSmhiV1YwWlhJb016UXhNU2tzWmk1blpYUlFZWEpoYldWMFpYSW9NelF4TWlrc1ppNW5aWFJRWVhKaGJXVjBaWElvTXpReE15bGRMR1JsY0hSb1FtbDBjenBtTG1kbGRGQmhjbUZ0WlhSbGNpZ3pOREUwS1N4emRHVnVZMmxzUW1sMGN6cG1MbWRsZEZCaGNtRnRaWFJsY2lnek5ERTFLU3h6ZFdKd2FYaGxiRUpwZEhNNlppNW5aWFJRWVhKaGJXVjBaWElvTXpRd09Da3NaWGgwWlc1emFXOXVjenBQWW1wbFkzUXVhMlY1Y3locktTNW1hV3gwWlhJb1puVnVZM1JwYjI0b1lTbDdjbVYwZFhKdUlTRnJXMkZkZlNrc1hHNXRZWGhCYm1semIzUnliM0JwWXpwNExHMWhlRVJ5WVhkaWRXWm1aWEp6T25Jc2JXRjRRMjlzYjNKQmRIUmhZMmh0Wlc1MGN6cGpMSEJ2YVc1MFUybDZaVVJwYlhNNlppNW5aWFJRWVhKaGJXVjBaWElvTXpNNU1ERXBMR3hwYm1WWGFXUjBhRVJwYlhNNlppNW5aWFJRWVhKaGJXVjBaWElvTXpNNU1ESXBMRzFoZUZacFpYZHdiM0owUkdsdGN6cG1MbWRsZEZCaGNtRnRaWFJsY2lnek16ZzJLU3h0WVhoRGIyMWlhVzVsWkZSbGVIUjFjbVZWYm1sMGN6cG1MbWRsZEZCaGNtRnRaWFJsY2lnek5UWTJNU2tzYldGNFEzVmlaVTFoY0ZOcGVtVTZaaTVuWlhSUVlYSmhiV1YwWlhJb016UXdOellwTEcxaGVGSmxibVJsY21KMVptWmxjbE5wZW1VNlppNW5aWFJRWVhKaGJXVjBaWElvTXpRd01qUXBMRzFoZUZSbGVIUjFjbVZWYm1sMGN6cG1MbWRsZEZCaGNtRnRaWFJsY2lnek5Ea3pNQ2tzYldGNFZHVjRkSFZ5WlZOcGVtVTZaaTVuWlhSUVlYSmhiV1YwWlhJb016TTNPU2tzYldGNFFYUjBjbWxpZFhSbGN6cG1MbWRsZEZCaGNtRnRaWFJsY2lnek5Ea3lNU2tzYldGNFZtVnlkR1Y0Vlc1cFptOXliWE02Wmk1blpYUlFZWEpoYldWMFpYSW9Nell6TkRjcExHMWhlRlpsY25SbGVGUmxlSFIxY21WVmJtbDBjenBtTG1kbGRGQmhjbUZ0WlhSbGNpZ3pOVFkyTUNrc2JXRjRWbUZ5ZVdsdVoxWmxZM1J2Y25NNlppNW5aWFJRWVhKaGJXVjBaWElvTXpZek5EZ3BMRnh1YldGNFJuSmhaMjFsYm5SVmJtbG1iM0p0Y3pwbUxtZGxkRkJoY21GdFpYUmxjaWd6TmpNME9Ta3NaMnh6YkRwbUxtZGxkRkJoY21GdFpYUmxjaWd6TlRjeU5Da3NjbVZ1WkdWeVpYSTZaaTVuWlhSUVlYSmhiV1YwWlhJb056a3pOeWtzZG1WdVpHOXlPbVl1WjJWMFVHRnlZVzFsZEdWeUtEYzVNellwTEhabGNuTnBiMjQ2Wmk1blpYUlFZWEpoYldWMFpYSW9Oemt6T0NsOWZYMHNlMzFkTERFek9sdG1kVzVqZEdsdmJpaG1MSEFzZFNsN2RtRnlJR3c5WmloY0lpNHZkWFJwYkM5cGN5MTBlWEJsWkMxaGNuSmhlVndpS1R0d0xtVjRjRzl5ZEhNOVpuVnVZM1JwYjI0b2F5eG1MSElzWXl4aExHSXBlM0psZEhWeWJpQm1kVzVqZEdsdmJpaGhLWHQyWVhJZ1lqdGlQVzUxYkd3OVBUMW1MbTVsZUhRL05URXlNVHBtTG01bGVIUXVZMjlzYjNKQmRIUmhZMmh0Wlc1MGMxc3dYUzUwWlhoMGRYSmxMbDkwWlhoMGRYSmxMblI1Y0dVN2RtRnlJSFE5TUN4NVBUQXNaejFqTG1aeVlXMWxZblZtWm1WeVYybGtkR2dzY0QxakxtWnlZVzFsWW5WbVptVnlTR1ZwWjJoMExFTTliblZzYkR0c0tHRXBQME05WVRwaEppWW9kRDFoTG5oOE1DeDVQV0V1ZVh3d0xHYzlLR0V1ZDJsa2RHaDhmR011Wm5KaGJXVmlkV1ptWlhKWGFXUjBhQzEwS1h3d0xIQTlLR0V1YUdWcFoyaDBmSHhqTG1aeVlXMWxZblZtWm1WeVNHVnBaMmgwTFZ4dWVTbDhNQ3hEUFdFdVpHRjBZWHg4Ym5Wc2JDazdjaWdwTzJFOVp5cHdLalE3UTN4OEtEVXhNakU5UFQxaVAwTTlibVYzSUZWcGJuUTRRWEp5WVhrb1lTazZOVEV5TmowOVBXSW1KaWhEUFVOOGZHNWxkeUJHYkc5aGRETXlRWEp5WVhrb1lTa3BLVHRyTG5CcGVHVnNVM1J2Y21WcEtETXpNek1zTkNrN2F5NXlaV0ZrVUdsNFpXeHpLSFFzZVN4bkxIQXNOalF3T0N4aUxFTXBPM0psZEhWeWJpQkRmWDE5TEh0Y0lpNHZkWFJwYkM5cGN5MTBlWEJsWkMxaGNuSmhlVndpT2pJMmZWMHNNVFE2VzJaMWJtTjBhVzl1S0dZc2NDeDFLWHQyWVhJZ2JEMW1LRndpTGk5MWRHbHNMM1poYkhWbGMxd2lLU3hyUFZ0ZE8ydGJNekk0TlRSZFBUSTdhMXN6TWpnMU5WMDlNanRyV3pNMk1UazBYVDB5TzJ0Yk16TXhPRGxkUFRJN2Exc3pOakUyT0YwOU1UdHJXek0wTURReFhUMDBPMnRiTXpVNU1EZGRQVFE3YTFzek5EZ3pObDA5TVRZN2Exc3pORGcwTWwwOU9EdHJXek0wT0RRelhUMDJPM0F1Wlhod2IzSjBjejFtZFc1amRHbHZiaWhtTEhJc1l5eGhMR0lwZTJaMWJtTjBhVzl1SUhBb1lTbDdkR2hwY3k1cFpEMW5LeXM3ZEdocGN5NXlaV1pEYjNWdWREMHhPM1JvYVhNdWNtVnVaR1Z5WW5WbVptVnlQV0U3ZEdocGN5NW1iM0p0WVhROU16STROVFE3ZEdocGN5NW9aV2xuYUhROWRHaHBjeTUzYVdSMGFEMHdPMkl1Y0hKdlptbHNaU1ltWEc0b2RHaHBjeTV6ZEdGMGN6MTdjMmw2WlRvd2ZTbDlablZ1WTNScGIyNGdUU2hpS1h0MllYSWdZejFpTG5KbGJtUmxjbUoxWm1abGNqdG1MbUpwYm1SU1pXNWtaWEppZFdabVpYSW9Nell4TmpFc2JuVnNiQ2s3Wmk1a1pXeGxkR1ZTWlc1a1pYSmlkV1ptWlhJb1l5azdZaTV5Wlc1a1pYSmlkV1ptWlhJOWJuVnNiRHRpTG5KbFprTnZkVzUwUFRBN1pHVnNaWFJsSUVWYllpNXBaRjA3WVM1eVpXNWtaWEppZFdabVpYSkRiM1Z1ZEMwdGZYWmhjaUIwUFh0eVoySmhORG96TWpnMU5DeHlaMkkxTmpVNk16WXhPVFFzWENKeVoySTFJR0V4WENJNk16STROVFVzWkdWd2RHZzZNek14T0Rrc2MzUmxibU5wYkRvek5qRTJPQ3hjSW1SbGNIUm9JSE4wWlc1amFXeGNJam96TkRBME1YMDdjaTVsZUhSZmMzSm5ZaVltS0hRdWMzSm5ZbUU5TXpVNU1EY3BPM0l1WlhoMFgyTnZiRzl5WDJKMVptWmxjbDlvWVd4bVgyWnNiMkYwSmlZb2RDNXlaMkpoTVRabVBUTTBPRFF5TEhRdWNtZGlNVFptUFRNME9EUXpLVHR5TG5kbFltZHNYMk52Ykc5eVgySjFabVpsY2w5bWJHOWhkQ1ltS0hRdWNtZGlZVE15Wmowek5EZ3pOaWs3ZG1GeUlIazlXMTA3VDJKcVpXTjBMbXRsZVhNb2RDa3VabTl5UldGamFDaG1kVzVqZEdsdmJpaGhLWHQ1VzNSYllWMWRQV0Y5S1R0MllYSWdaejB3TEVVOWUzMDdjQzV3Y205MGIzUjVjR1V1WkdWalVtVm1QVnh1Wm5WdVkzUnBiMjRvS1hzd1BqMHRMWFJvYVhNdWNtVm1RMjkxYm5RbUprMG9kR2hwY3lsOU8ySXVjSEp2Wm1sc1pTWW1LR0V1WjJWMFZHOTBZV3hTWlc1a1pYSmlkV1ptWlhKVGFYcGxQV1oxYm1OMGFXOXVLQ2w3ZG1GeUlHRTlNRHRQWW1wbFkzUXVhMlY1Y3loRktTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHSXBlMkVyUFVWYllsMHVjM1JoZEhNdWMybDZaWDBwTzNKbGRIVnliaUJoZlNrN2NtVjBkWEp1ZTJOeVpXRjBaVHBtZFc1amRHbHZiaWhqTEdjcGUyWjFibU4wYVc5dUlHNG9ZU3hqS1h0MllYSWdaejB3TEd3OU1DeG9QVE15T0RVME8xd2liMkpxWldOMFhDSTlQVDEwZVhCbGIyWWdZU1ltWVQ4b1hDSnphR0Z3WlZ3aWFXNGdZVDhvYkQxaExuTm9ZWEJsTEdjOWJGc3dYWHd3TEd3OWJGc3hYWHd3S1Rvb1hDSnlZV1JwZFhOY0ltbHVJR0VtSmloblBXdzlZUzV5WVdScGRYTjhNQ2tzWENKM2FXUjBhRndpYVc0Z1lTWW1LR2M5WVM1M2FXUjBhSHd3S1N4Y0ltaGxhV2RvZEZ3aWFXNGdZU1ltS0d3OVlTNW9aV2xuYUhSOE1Da3BMRndpWm05eWJXRjBYQ0pwYmlCaEppWW9hRDEwVzJFdVptOXliV0YwWFNrcE9sd2liblZ0WW1WeVhDSTlQVDEwZVhCbGIyWWdZVDhvWnoxaGZEQXNiRDFjSW01MWJXSmxjbHdpUFQwOWRIbHdaVzltSUdNL1kzd3dPbWNwT21GOGZDaG5QV3c5TVNrN2FXWW9aeUU5UFcwdWQybGtkR2g4Zkd3aFBUMWNibTB1YUdWcFoyaDBmSHhvSVQwOWJTNW1iM0p0WVhRcGNtVjBkWEp1SUc0dWQybGtkR2c5YlM1M2FXUjBhRDFuTEc0dWFHVnBaMmgwUFcwdWFHVnBaMmgwUFd3c2JTNW1iM0p0WVhROWFDeG1MbUpwYm1SU1pXNWtaWEppZFdabVpYSW9Nell4TmpFc2JTNXlaVzVrWlhKaWRXWm1aWElwTEdZdWNtVnVaR1Z5WW5WbVptVnlVM1J2Y21GblpTZ3pOakUyTVN4b0xHY3NiQ2tzWWk1d2NtOW1hV3hsSmlZb2JTNXpkR0YwY3k1emFYcGxQV3RiYlM1bWIzSnRZWFJkS20wdWQybGtkR2dxYlM1b1pXbG5hSFFwTEc0dVptOXliV0YwUFhsYmJTNW1iM0p0WVhSZExHNTlkbUZ5SUcwOWJtVjNJSEFvWmk1amNtVmhkR1ZTWlc1a1pYSmlkV1ptWlhJb0tTazdSVnR0TG1sa1hUMXRPMkV1Y21WdVpHVnlZblZtWm1WeVEyOTFiblFyS3p0dUtHTXNaeWs3Ymk1eVpYTnBlbVU5Wm5WdVkzUnBiMjRvWVN4aktYdDJZWElnWnoxaGZEQXNiRDFqZkRCOGZHYzdhV1lvWnowOVBXMHVkMmxrZEdnbUptdzlQVDF0TG1obGFXZG9kQ2x5WlhSMWNtNGdianR1TG5kcFpIUm9QVzB1ZDJsa2RHZzlaenR1TG1obGFXZG9kRDF0TG1obGFXZG9kRDFzTzJZdVltbHVaRkpsYm1SbGNtSjFabVpsY2lnek5qRTJNU3h0TG5KbGJtUmxjbUoxWm1abGNpazdaaTV5Wlc1a1pYSmlkV1ptWlhKVGRHOXlZV2RsS0RNMk1UWXhMRzB1Wm05eWJXRjBMRnh1Wnl4c0tUdGlMbkJ5YjJacGJHVW1KaWh0TG5OMFlYUnpMbk5wZW1VOWExdHRMbVp2Y20xaGRGMHFiUzUzYVdSMGFDcHRMbWhsYVdkb2RDazdjbVYwZFhKdUlHNTlPMjR1WDNKbFoyeFVlWEJsUFZ3aWNtVnVaR1Z5WW5WbVptVnlYQ0k3Ymk1ZmNtVnVaR1Z5WW5WbVptVnlQVzA3WWk1d2NtOW1hV3hsSmlZb2JpNXpkR0YwY3oxdExuTjBZWFJ6S1R0dUxtUmxjM1J5YjNrOVpuVnVZM1JwYjI0b0tYdHRMbVJsWTFKbFppZ3BmVHR5WlhSMWNtNGdibjBzWTJ4bFlYSTZablZ1WTNScGIyNG9LWHRzS0VVcExtWnZja1ZoWTJnb1RTbDlMSEpsYzNSdmNtVTZablZ1WTNScGIyNG9LWHRzS0VVcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0b1lTbDdZUzV5Wlc1a1pYSmlkV1ptWlhJOVppNWpjbVZoZEdWU1pXNWtaWEppZFdabVpYSW9LVHRtTG1KcGJtUlNaVzVrWlhKaWRXWm1aWElvTXpZeE5qRXNZUzV5Wlc1a1pYSmlkV1ptWlhJcE8yWXVjbVZ1WkdWeVluVm1abVZ5VTNSdmNtRm5aU2d6TmpFMk1TeGhMbVp2Y20xaGRDeGhMbmRwWkhSb0xHRXVhR1ZwWjJoMEtYMHBPMll1WW1sdVpGSmxibVJsY21KMVptWmxjaWd6TmpFMk1TeHVkV3hzS1gxOWZYMHNlMXdpTGk5MWRHbHNMM1poYkhWbGMxd2lPak14ZlYwc01UVTZXMloxYm1OMGFXOXVLR1lzY0N4MUtYdDJZWElnYkQxbUtGd2lMaTkxZEdsc0wzWmhiSFZsYzF3aUtUdGNibkF1Wlhod2IzSjBjejFtZFc1amRHbHZiaWhtTEhnc2NpeGpLWHRtZFc1amRHbHZiaUJoS0dFc1l5eGlMR2NwZTNSb2FYTXVibUZ0WlQxaE8zUm9hWE11YVdROVl6dDBhR2x6TG14dlkyRjBhVzl1UFdJN2RHaHBjeTVwYm1adlBXZDlablZ1WTNScGIyNGdZaWhoTEdNcGUyWnZjaWgyWVhJZ1lqMHdPMkk4WVM1c1pXNW5kR2c3S3l0aUtXbG1LR0ZiWWwwdWFXUTlQVDFqTG1sa0tYdGhXMkpkTG14dlkyRjBhVzl1UFdNdWJHOWpZWFJwYjI0N2NtVjBkWEp1ZldFdWNIVnphQ2hqS1gxbWRXNWpkR2x2YmlCd0tHRXNZeXhpS1h0aVBUTTFOak15UFQwOVlUOTVPbWM3ZG1GeUlHdzlZbHRqWFR0cFppZ2hiQ2w3ZG1GeUlISTllQzV6ZEhJb1l5a3NiRDFtTG1OeVpXRjBaVk5vWVdSbGNpaGhLVHRtTG5Ob1lXUmxjbE52ZFhKalpTaHNMSElwTzJZdVkyOXRjR2xzWlZOb1lXUmxjaWhzS1R0aVcyTmRQV3g5Y21WMGRYSnVJR3g5Wm5WdVkzUnBiMjRnVFNoaExHSXBlM1JvYVhNdWFXUTlkU3NyTzNSb2FYTXVabkpoWjBsa1BXRTdkR2hwY3k1MlpYSjBTV1E5WWp0MGFHbHpMbkJ5YjJkeVlXMDliblZzYkR0MGFHbHpMblZ1YVdadmNtMXpQVnRkTzNSb2FYTXVZWFIwY21saWRYUmxjejFiWFR0akxuQnliMlpwYkdVbUppaDBhR2x6TG5OMFlYUnpQWHQxYm1sbWIzSnRjME52ZFc1ME9qQXNZWFIwY21saWRYUmxjME52ZFc1ME9qQjlLWDFjYm1aMWJtTjBhVzl1SUhRb1p5eHRLWHQyWVhJZ2JDeHlPMnc5Y0Nnek5UWXpNaXhuTG1aeVlXZEpaQ2s3Y2oxd0tETTFOak16TEdjdWRtVnlkRWxrS1R0MllYSWdkRDFuTG5CeWIyZHlZVzA5Wmk1amNtVmhkR1ZRY205bmNtRnRLQ2s3Wmk1aGRIUmhZMmhUYUdGa1pYSW9kQ3hzS1R0bUxtRjBkR0ZqYUZOb1lXUmxjaWgwTEhJcE8yWXViR2x1YTFCeWIyZHlZVzBvZENrN2RtRnlJSGs5Wmk1blpYUlFjbTluY21GdFVHRnlZVzFsZEdWeUtIUXNNelUzTVRncE8yTXVjSEp2Wm1sc1pTWW1LR2N1YzNSaGRITXVkVzVwWm05eWJYTkRiM1Z1ZEQxNUtUdDJZWElnYUQxbkxuVnVhV1p2Y20xek8yWnZjaWhzUFRBN2JEeDVPeXNyYkNscFppaHlQV1l1WjJWMFFXTjBhWFpsVlc1cFptOXliU2gwTEd3cEtXbG1LREU4Y2k1emFYcGxLV1p2Y2loMllYSWdRejB3TzBNOGNpNXphWHBsT3lzclF5bDdkbUZ5SUVVOWNpNXVZVzFsTG5KbGNHeGhZMlVvWENKYk1GMWNJaXhjSWx0Y0lpdERLMXdpWFZ3aUtUdGlLR2dzYm1WM0lHRW9SU3g0TG1sa0tFVXBMR1l1WjJWMFZXNXBabTl5YlV4dlkyRjBhVzl1S0hRc1JTa3NjaWtwZldWc2MyVWdZaWhvTEc1bGR5QmhLSEl1Ym1GdFpTeDRMbWxrS0hJdWJtRnRaU2tzWmk1blpYUlZibWxtYjNKdFRHOWpZWFJwYjI0b2RDeHlMbTVoYldVcExISXBLVHQ1UFdZdVoyVjBVSEp2WjNKaGJWQmhjbUZ0WlhSbGNpaDBMRnh1TXpVM01qRXBPMk11Y0hKdlptbHNaU1ltS0djdWMzUmhkSE11WVhSMGNtbGlkWFJsYzBOdmRXNTBQWGtwTzJnOVp5NWhkSFJ5YVdKMWRHVnpPMlp2Y2loc1BUQTdiRHg1T3lzcmJDa29jajFtTG1kbGRFRmpkR2wyWlVGMGRISnBZaWgwTEd3cEtTWW1ZaWhvTEc1bGR5QmhLSEl1Ym1GdFpTeDRMbWxrS0hJdWJtRnRaU2tzWmk1blpYUkJkSFJ5YVdKTWIyTmhkR2x2YmloMExISXVibUZ0WlNrc2Npa3BmWFpoY2lCNVBYdDlMR2M5ZTMwc1JUMTdmU3hEUFZ0ZExIVTlNRHRqTG5CeWIyWnBiR1VtSmloeUxtZGxkRTFoZUZWdWFXWnZjbTF6UTI5MWJuUTlablZ1WTNScGIyNG9LWHQyWVhJZ1lUMHdPME11Wm05eVJXRmphQ2htZFc1amRHbHZiaWhpS1h0aUxuTjBZWFJ6TG5WdWFXWnZjbTF6UTI5MWJuUStZU1ltS0dFOVlpNXpkR0YwY3k1MWJtbG1iM0p0YzBOdmRXNTBLWDBwTzNKbGRIVnliaUJoZlN4eUxtZGxkRTFoZUVGMGRISnBZblYwWlhORGIzVnVkRDFtZFc1amRHbHZiaWdwZTNaaGNpQmhQVEE3UXk1bWIzSkZZV05vS0daMWJtTjBhVzl1S0dJcGUySXVjM1JoZEhNdVlYUjBjbWxpZFhSbGMwTnZkVzUwUG1FbUppaGhQV0l1YzNSaGRITXVZWFIwY21saWRYUmxjME52ZFc1MEtYMHBPM0psZEhWeWJpQmhmU2s3Y21WMGRYSnVlMk5zWldGeU9tWjFibU4wYVc5dUtDbDdkbUZ5SUdFOVppNWtaV3hsZEdWVGFHRmtaWEl1WW1sdVpDaG1LVHRjYm13b2VTa3VabTl5UldGamFDaGhLVHQ1UFh0OU8yd29aeWt1Wm05eVJXRmphQ2hoS1R0blBYdDlPME11Wm05eVJXRmphQ2htZFc1amRHbHZiaWhoS1h0bUxtUmxiR1YwWlZCeWIyZHlZVzBvWVM1d2NtOW5jbUZ0S1gwcE8wTXViR1Z1WjNSb1BUQTdSVDE3ZlR0eUxuTm9ZV1JsY2tOdmRXNTBQVEI5TEhCeWIyZHlZVzA2Wm5WdVkzUnBiMjRvWVN4aUxHTXBlM0l1YzJoaFpHVnlRMjkxYm5Rckt6dDJZWElnWnoxRlcySmRPMmQ4ZkNoblBVVmJZbDA5ZTMwcE8zWmhjaUJtUFdkYllWMDdabng4S0dZOWJtVjNJRTBvWWl4aEtTeDBLR1lzWXlrc1oxdGhYVDFtTEVNdWNIVnphQ2htS1NrN2NtVjBkWEp1SUdaOUxISmxjM1J2Y21VNlpuVnVZM1JwYjI0b0tYdDVQWHQ5TzJjOWUzMDdabTl5S0haaGNpQmhQVEE3WVR4RExteGxibWQwYURzcksyRXBkQ2hEVzJGZEtYMHNjMmhoWkdWeU9uQXNabkpoWnpvdE1TeDJaWEowT2kweGZYMTlMSHRjSWk0dmRYUnBiQzkyWVd4MVpYTmNJam96TVgxZExERTJPbHRtZFc1amRHbHZiaWhtTEhBc2RTbDdjQzVsZUhCdmNuUnpQV1oxYm1OMGFXOXVLQ2w3Y21WMGRYSnVlMkoxWm1abGNrTnZkVzUwT2pBc1pXeGxiV1Z1ZEhORGIzVnVkRG93TEdaeVlXMWxZblZtWm1WeVEyOTFiblE2TUN4emFHRmtaWEpEYjNWdWREb3dMSFJsZUhSMWNtVkRiM1Z1ZERvd0xHTjFZbVZEYjNWdWREb3dMRnh1Y21WdVpHVnlZblZtWm1WeVEyOTFiblE2TUN4dFlYaFVaWGgwZFhKbFZXNXBkSE02TUgxOWZTeDdmVjBzTVRjNlcyWjFibU4wYVc5dUtHWXNjQ3gxS1h0d0xtVjRjRzl5ZEhNOVpuVnVZM1JwYjI0b0tYdDJZWElnWmoxN1hDSmNJam93ZlN4clBWdGNJbHdpWFR0eVpYUjFjbTU3YVdRNlpuVnVZM1JwYjI0b2VDbDdkbUZ5SUhJOVpsdDRYVHRwWmloeUtYSmxkSFZ5YmlCeU8zSTlabHQ0WFQxckxteGxibWQwYUR0ckxuQjFjMmdvZUNrN2NtVjBkWEp1SUhKOUxITjBjanBtZFc1amRHbHZiaWhtS1h0eVpYUjFjbTRnYTF0bVhYMTlmWDBzZTMxZExERTRPbHRtZFc1amRHbHZiaWhtTEhBc2RTbDdablZ1WTNScGIyNGdiQ2hoS1h0eVpYUjFjbTRnUVhKeVlYa3VhWE5CY25KaGVTaGhLU1ltS0RBOVBUMWhMbXhsYm1kMGFIeDhYQ0p1ZFcxaVpYSmNJajA5UFhSNWNHVnZaaUJoV3pCZEtYMW1kVzVqZEdsdmJpQnJLR0VwZTNKbGRIVnliaUJCY25KaGVTNXBjMEZ5Y21GNUtHRXBKaVl3SVQwOVlTNXNaVzVuZEdnbUprVW9ZVnN3WFNrL0lUQTZJVEY5Wm5WdVkzUnBiMjRnZUNoaEtYdHlaWFIxY200Z1QySnFaV04wTG5CeWIzUnZkSGx3WlM1MGIxTjBjbWx1Wnk1allXeHNLR0VwZldaMWJtTjBhVzl1SUhJb1lTbDdhV1lvSVdFcGNtVjBkWEp1SVRFN2RtRnlJR0k5ZUNoaEtUdHlaWFIxY200Z01EdzlXUzVwYm1SbGVFOW1LR0lwUDF4dUlUQTZiQ2hoS1h4OGF5aGhLWHg4ZENoaEtYMW1kVzVqZEdsdmJpQmpLR0VzWWlsN016WXhPVE05UFQxaExuUjVjR1UvS0dFdVpHRjBZVDFuS0dJcExIa3VabkpsWlZSNWNHVW9ZaWtwT21FdVpHRjBZVDFpZldaMWJtTjBhVzl1SUdFb1lTeGlMR01zWnl4bUxHc3BlMkU5WENKMWJtUmxabWx1WldSY0lpRTlQWFI1Y0dWdlppQklXMkZkUDBoYllWMDZRbHRoWFNwTVcySmRPMnNtSmloaEtqMDJLVHRwWmlobUtYdG1iM0lvWnowd096RThQV003S1djclBXRXFZeXBqTEdNdlBUSTdjbVYwZFhKdUlHZDljbVYwZFhKdUlHRXFZeXBuZlhaaGNpQmlQV1lvWENJdUwzVjBhV3d2WlhoMFpXNWtYQ0lwTEVZOVppaGNJaTR2ZFhScGJDOTJZV3gxWlhOY0lpa3NUVDFtS0Z3aUxpOTFkR2xzTDJsekxYUjVjR1ZrTFdGeWNtRjVYQ0lwTEhROVppaGNJaTR2ZFhScGJDOXBjeTF1WkdGeWNtRjVYQ0lwTEhrOVppaGNJaTR2ZFhScGJDOXdiMjlzWENJcExHYzlaaWhjSWk0dmRYUnBiQzkwYnkxb1lXeG1MV1pzYjJGMFhDSXBMRVU5WmloY0lpNHZkWFJwYkM5cGN5MWhjbkpoZVMxc2FXdGxYQ0lwTEVNOVppaGNJaTR2ZFhScGJDOW1iR0YwZEdWdVhDSXBPM1U5WmloY0lpNHZZMjl1YzNSaGJuUnpMMkZ5Y21GNWRIbHdaWE11YW5OdmJsd2lLVHQyWVhJZ1RqMW1LRndpTGk5amIyNXpkR0Z1ZEhNdllYSnlZWGwwZVhCbGN5NXFjMjl1WENJcExHNDlXems1T0RRc09UazROaXhjYmprNU9EVXNPVGs0TjEwc2JUMWJNQ3cyTkRBNUxEWTBNVEFzTmpRd055dzJOREE0WFN4Q1BYdDlPMEpiTmpRd09WMDlRbHMyTkRBMlhUMUNXelkwTURKZFBURTdRbHN6TkRBME1WMDlRbHMyTkRFd1hUMHlPMEpiTmpRd04xMDlRbHN6TlRrd05GMDlNenRDV3pZME1EaGRQVUpiTXpVNU1EWmRQVFE3ZG1GeUlGazlUMkpxWldOMExtdGxlWE1vZFNrdVkyOXVZMkYwS0Z0Y0lsdHZZbXBsWTNRZ1NGUk5URU5oYm5aaGMwVnNaVzFsYm5SZFhDSXNYQ0piYjJKcVpXTjBJRU5oYm5aaGMxSmxibVJsY21sdVowTnZiblJsZUhReVJGMWNJaXhjSWx0dlltcGxZM1FnU0ZSTlRFbHRZV2RsUld4bGJXVnVkRjFjSWl4Y0lsdHZZbXBsWTNRZ1NGUk5URlpwWkdWdlJXeGxiV1Z1ZEYxY0lsMHBMRXc5VzEwN1RGczFNVEl4WFQweE8weGJOVEV5TmwwOU5EdE1Xek0yTVRrelhUMHlPMHhiTlRFeU0xMDlNanRNV3pVeE1qVmRQVFE3ZG1GeUlFZzlXMTA3U0Zzek1qZzFORjA5TWp0SVd6TXlPRFUxWFQweU8waGJNell4T1RSZFBUSTdTRnN6TkRBME1WMDlORHRJV3pNek56YzJYVDB1TlR0SVd6TXpOemMzWFQwdU5UdElXek16TnpjNFhUMHhPMGhiTXpNM056bGRQVEU3U0Zzek5UazRObDA5TGpVN1NGc3pOVGs0TjEwOU1UdElXek0wTnprNFhUMHhPMGhiTXpVNE5EQmRQUzQxTzBoYk16VTROREZkUFM0eU5UdElXek0xT0RReVhUMHVOVHRjYmtoYk16VTRORE5kUFM0eU5UdElXek0yTVRrMlhUMHVOVHR3TG1WNGNHOXlkSE05Wm5WdVkzUnBiMjRvYUN4bUxIQXNkU3hJTEV3c1dpbDdablZ1WTNScGIyNGdSQ2dwZTNSb2FYTXVabTl5YldGMFBYUm9hWE11YVc1MFpYSnVZV3htYjNKdFlYUTlOalF3T0R0MGFHbHpMblI1Y0dVOU5URXlNVHQwYUdsekxtWnNhWEJaUFhSb2FYTXVjSEpsYlhWc2RHbHdiSGxCYkhCb1lUMTBhR2x6TG1OdmJYQnlaWE56WldROUlURTdkR2hwY3k1MWJuQmhZMnRCYkdsbmJtMWxiblE5TVR0MGFHbHpMbU5vWVc1dVpXeHpQWFJvYVhNdWFHVnBaMmgwUFhSb2FYTXVkMmxrZEdnOWRHaHBjeTVqYjJ4dmNsTndZV05sUFRCOVpuVnVZM1JwYjI0Z1N5aGhMR0lwZTJFdWFXNTBaWEp1WVd4bWIzSnRZWFE5WWk1cGJuUmxjbTVoYkdadmNtMWhkRHRoTG1admNtMWhkRDFpTG1admNtMWhkRHRoTG5SNWNHVTlZaTUwZVhCbE8yRXVZMjl0Y0hKbGMzTmxaRDFpTG1OdmJYQnlaWE56WldRN1lTNXdjbVZ0ZFd4MGFYQnNlVUZzY0doaFBXSXVjSEpsYlhWc2RHbHdiSGxCYkhCb1lUdGhMbVpzYVhCWlBXSXVabXhwY0ZrN1lTNTFibkJoWTJ0QmJHbG5ibTFsYm5ROVlpNTFibkJoWTJ0QmJHbG5ibTFsYm5RN1lTNWpiMnh2Y2xOd1lXTmxQV0l1WTI5c2IzSlRjR0ZqWlR0aExuZHBaSFJvUFdJdWQybGtkR2c3WVM1b1pXbG5hSFE5WEc1aUxtaGxhV2RvZER0aExtTm9ZVzV1Wld4elBXSXVZMmhoYm01bGJITjlablZ1WTNScGIyNGdXU2hoTEdJcGUybG1LRndpYjJKcVpXTjBYQ0k5UFQxMGVYQmxiMllnWWlZbVlpbDdYQ0p3Y21WdGRXeDBhWEJzZVVGc2NHaGhYQ0pwYmlCaUppWW9ZUzV3Y21WdGRXeDBhWEJzZVVGc2NHaGhQV0l1Y0hKbGJYVnNkR2x3YkhsQmJIQm9ZU2s3WENKbWJHbHdXVndpYVc0Z1lpWW1LR0V1Wm14cGNGazlZaTVtYkdsd1dTazdYQ0poYkdsbmJtMWxiblJjSW1sdUlHSW1KaWhoTG5WdWNHRmphMEZzYVdkdWJXVnVkRDFpTG1Gc2FXZHViV1Z1ZENrN1hDSmpiMnh2Y2xOd1lXTmxYQ0pwYmlCaUppWW9ZUzVqYjJ4dmNsTndZV05sUFhCaFcySXVZMjlzYjNKVGNHRmpaVjBwTzF3aWRIbHdaVndpYVc0Z1lpWW1LR0V1ZEhsd1pUMVdXMkl1ZEhsd1pWMHBPM1poY2lCalBXRXVkMmxrZEdnc1p6MWhMbWhsYVdkb2RDeG9QV0V1WTJoaGJtNWxiSE1zWmowaE1UdGNJbk5vWVhCbFhDSnBiaUJpUHloalBXSXVjMmhoY0dWYk1GMHNaejFpTG5Ob1lYQmxXekZkTERNOVBUMWlMbk5vWVhCbExteGxibWQwYUNZbUtHZzlZaTV6YUdGd1pWc3lYU3htUFNFd0tTazZLRndpY21Ga2FYVnpYQ0pwYmlCaUppWW9ZejFuUFdJdWNtRmthWFZ6S1N4Y0luZHBaSFJvWENKcGJpQmlKaVlvWXoxaUxuZHBaSFJvS1N4Y0ltaGxhV2RvZEZ3aWFXNGdZaVltS0djOVlpNW9aV2xuYUhRcExGeHVYQ0pqYUdGdWJtVnNjMXdpYVc0Z1lpWW1LR2c5WWk1amFHRnVibVZzY3l4bVBTRXdLU2s3WVM1M2FXUjBhRDFqZkRBN1lTNW9aV2xuYUhROVozd3dPMkV1WTJoaGJtNWxiSE05YUh3d08yTTlJVEU3WENKbWIzSnRZWFJjSW1sdUlHSW1KaWhqUFdJdVptOXliV0YwTEdjOVlTNXBiblJsY201aGJHWnZjbTFoZEQxWVcyTmRMR0V1Wm05eWJXRjBQVkJoVzJkZExHTWdhVzRnVmlZbUlTaGNJblI1Y0dWY0ltbHVJR0lwSmlZb1lTNTBlWEJsUFZaYlkxMHBMR01nYVc0Z1ZDWW1LR0V1WTI5dGNISmxjM05sWkQwaE1Da3NZejBoTUNrN0lXWW1KbU0vWVM1amFHRnVibVZzY3oxQ1cyRXVabTl5YldGMFhUcG1KaVloWXlZbVlTNWphR0Z1Ym1Wc2N5RTlQVzFiWVM1bWIzSnRZWFJkSmlZb1lTNW1iM0p0WVhROVlTNXBiblJsY201aGJHWnZjbTFoZEQxdFcyRXVZMmhoYm01bGJITmRLWDE5Wm5WdVkzUnBiMjRnZG1Fb1lTbDdhQzV3YVhobGJGTjBiM0psYVNnek56UTBNQ3hoTG1ac2FYQlpLVHRvTG5CcGVHVnNVM1J2Y21WcEtETTNORFF4TEdFdWNISmxiWFZzZEdsd2JIbEJiSEJvWVNrN2FDNXdhWGhsYkZOMGIzSmxhU2d6TnpRME15eGhMbU52Ykc5eVUzQmhZMlVwTzJndWNHbDRaV3hUZEc5eVpXa29Nek14Tnl4aExuVnVjR0ZqYTBGc2FXZHViV1Z1ZENsOVpuVnVZM1JwYjI0Z2NTZ3BlMFF1WTJGc2JDaDBhR2x6S1R0Y2JuUm9hWE11ZVU5bVpuTmxkRDEwYUdsekxuaFBabVp6WlhROU1EdDBhR2x6TG1SaGRHRTliblZzYkR0MGFHbHpMbTVsWldSelJuSmxaVDBoTVR0MGFHbHpMbVZzWlcxbGJuUTliblZzYkR0MGFHbHpMbTVsWldSelEyOXdlVDBoTVgxbWRXNWpkR2x2YmlCVEtHRXNZaWw3ZG1GeUlHZzliblZzYkR0eUtHSXBQMmc5WWpwaUppWW9XU2hoTEdJcExGd2llRndpYVc0Z1lpWW1LR0V1ZUU5bVpuTmxkRDFpTG5oOE1Da3NYQ0o1WENKcGJpQmlKaVlvWVM1NVQyWm1jMlYwUFdJdWVYd3dLU3h5S0dJdVpHRjBZU2ttSmlob1BXSXVaR0YwWVNrcE8ybG1LR0l1WTI5d2VTbDdkbUZ5SUdZOVNDNTJhV1YzY0c5eWRGZHBaSFJvTEc0OVNDNTJhV1YzY0c5eWRFaGxhV2RvZER0aExuZHBaSFJvUFdFdWQybGtkR2g4ZkdZdFlTNTRUMlptYzJWME8yRXVhR1ZwWjJoMFBXRXVhR1ZwWjJoMGZIeHVMV0V1ZVU5bVpuTmxkRHRoTG01bFpXUnpRMjl3ZVQwaE1IMWxiSE5sSUdsbUtDRm9LV0V1ZDJsa2RHZzlZUzUzYVdSMGFIeDhNU3hoTG1obGFXZG9kRDFoTG1obGFXZG9kSHg4TVN4aExtTm9ZVzV1Wld4elBXRXVZMmhoYm01bGJITjhmRFE3Wld4elpTQnBaaWhOS0dncEtXRXVZMmhoYm01bGJITTlZUzVqYUdGdWJtVnNjM3g4TkN4aExtUmhkR0U5YUN4Y0luUjVjR1ZjSW1sdUlHSjhmRFV4TWpFaFBUMWhMblI1Y0dWOGZDaGhMblI1Y0dVOVhHNU9XMDlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY3VZMkZzYkNob0tWMThNQ2s3Wld4elpTQnBaaWhzS0dncEtYdGhMbU5vWVc1dVpXeHpQV0V1WTJoaGJtNWxiSE44ZkRRN1pqMW9PMjQ5Wmk1c1pXNW5kR2c3YzNkcGRHTm9LR0V1ZEhsd1pTbDdZMkZ6WlNBMU1USXhPbU5oYzJVZ05URXlNenBqWVhObElEVXhNalU2WTJGelpTQTFNVEkyT200OWVTNWhiR3h2WTFSNWNHVW9ZUzUwZVhCbExHNHBPMjR1YzJWMEtHWXBPMkV1WkdGMFlUMXVPMkp5WldGck8yTmhjMlVnTXpZeE9UTTZZUzVrWVhSaFBXY29aaWw5WVM1aGJHbG5ibTFsYm5ROU1UdGhMbTVsWldSelJuSmxaVDBoTUgxbGJITmxJR2xtS0hRb2FDa3BlMlk5YUM1a1lYUmhPMEZ5Y21GNUxtbHpRWEp5WVhrb1ppbDhmRFV4TWpFaFBUMWhMblI1Y0dWOGZDaGhMblI1Y0dVOVRsdFBZbXBsWTNRdWNISnZkRzkwZVhCbExuUnZVM1J5YVc1bkxtTmhiR3dvWmlsZGZEQXBPM1poY2lCdVBXZ3VjMmhoY0dVc2NUMW9Mbk4wY21sa1pTeHdMRVlzWkN4Mk96TTlQVDF1TG14bGJtZDBhRDhvWkQxdVd6SmRMSFk5Y1ZzeVhTazZkajFrUFRFN2NEMXVXekJkTzBZOWJsc3hYVHR1UFhGYk1GMDdjVDF4V3pGZE8yRXVZV3hwWjI1dFpXNTBQVEU3WVM1M2FXUjBhRDF3TzJFdWFHVnBaMmgwUFVZN1lTNWphR0Z1Ym1Wc2N6MWtPMkV1Wm05eWJXRjBQVnh1WVM1cGJuUmxjbTVoYkdadmNtMWhkRDF0VzJSZE8yRXVibVZsWkhOR2NtVmxQU0V3TzNBOWRqdG9QV2d1YjJabWMyVjBPMlE5WVM1M2FXUjBhRHQyUFdFdWFHVnBaMmgwTzBZOVlTNWphR0Z1Ym1Wc2N6dG1iM0lvZG1GeUlIVTllUzVoYkd4dlkxUjVjR1VvTXpZeE9UTTlQVDFoTG5SNWNHVS9OVEV5TmpwaExuUjVjR1VzWkNwMktrWXBMRUk5TUN4QlBUQTdRVHgyT3lzclFTbG1iM0lvZG1GeUlFUTlNRHRFUEdRN0t5dEVLV1p2Y2loMllYSWdkV0U5TUR0MVlUeEdPeXNyZFdFcGRWdENLeXRkUFdaYmJpcEVLM0VxUVN0d0tuVmhLMmhkTzJNb1lTeDFLWDFsYkhObElHbG1LRndpVzI5aWFtVmpkQ0JJVkUxTVEyRnVkbUZ6Uld4bGJXVnVkRjFjSWowOVBYZ29hQ2w4ZkZ3aVcyOWlhbVZqZENCRFlXNTJZWE5TWlc1a1pYSnBibWREYjI1MFpYaDBNa1JkWENJOVBUMTRLR2dwS1Z3aVcyOWlhbVZqZENCSVZFMU1RMkZ1ZG1GelJXeGxiV1Z1ZEYxY0lqMDlQWGdvYUNrL1lTNWxiR1Z0Wlc1MFBXZzZZUzVsYkdWdFpXNTBQV2d1WTJGdWRtRnpMR0V1ZDJsa2RHZzlZUzVsYkdWdFpXNTBMbmRwWkhSb0xHRXVhR1ZwWjJoMFBXRXVaV3hsYldWdWRDNW9aV2xuYUhRc1lTNWphR0Z1Ym1Wc2N6MDBPMlZzYzJVZ2FXWW9YQ0piYjJKcVpXTjBJRWhVVFV4SmJXRm5aVVZzWlcxbGJuUmRYQ0k5UFQxNEtHZ3BLV0V1Wld4bGJXVnVkRDFjYm1nc1lTNTNhV1IwYUQxb0xtNWhkSFZ5WVd4WGFXUjBhQ3hoTG1obGFXZG9kRDFvTG01aGRIVnlZV3hJWldsbmFIUXNZUzVqYUdGdWJtVnNjejAwTzJWc2MyVWdhV1lvWENKYmIySnFaV04wSUVoVVRVeFdhV1JsYjBWc1pXMWxiblJkWENJOVBUMTRLR2dwS1dFdVpXeGxiV1Z1ZEQxb0xHRXVkMmxrZEdnOWFDNTJhV1JsYjFkcFpIUm9MR0V1YUdWcFoyaDBQV2d1ZG1sa1pXOUlaV2xuYUhRc1lTNWphR0Z1Ym1Wc2N6MDBPMlZzYzJVZ2FXWW9heWhvS1NsN1pqMWhMbmRwWkhSb2ZIeG9XekJkTG14bGJtZDBhRHR1UFdFdWFHVnBaMmgwZkh4b0xteGxibWQwYUR0eFBXRXVZMmhoYm01bGJITTdjVDFGS0doYk1GMWJNRjBwUDNGOGZHaGJNRjFiTUYwdWJHVnVaM1JvT25GOGZERTdjRDFETG5Ob1lYQmxLR2dwTzJROU1UdG1iM0lvZGowd08zWThjQzVzWlc1bmRHZzdLeXQyS1dRcVBYQmJkbDA3WkQxNUxtRnNiRzlqVkhsd1pTZ3pOakU1TXowOVBXRXVkSGx3WlQ4MU1USTJPbUV1ZEhsd1pTeGtLVHRETG1ac1lYUjBaVzRvYUN4d0xGd2lYQ0lzWkNrN1l5aGhMR1FwTzJFdVlXeHBaMjV0Wlc1MFBURTdZUzUzYVdSMGFEMW1PMkV1YUdWcFoyaDBQVzQ3WVM1amFHRnVibVZzY3oxeE8yRXVabTl5YldGMFBXRXVhVzUwWlhKdVlXeG1iM0p0WVhROWJWdHhYVHRoTG01bFpXUnpSbkpsWlQwaE1IMTlablZ1WTNScGIyNGdiV0VvWVN4Y2JtSXNZeXhuTEdZcGUzWmhjaUJyUFdFdVpXeGxiV1Z1ZEN4c1BXRXVaR0YwWVN4dFBXRXVhVzUwWlhKdVlXeG1iM0p0WVhRc1pEMWhMbVp2Y20xaGRDeHlQV0V1ZEhsd1pTeHVQV0V1ZDJsa2RHZ3NjVDFoTG1obGFXZG9kRHQyWVNoaEtUdHJQMmd1ZEdWNFUzVmlTVzFoWjJVeVJDaGlMR1lzWXl4bkxHUXNjaXhyS1RwaExtTnZiWEJ5WlhOelpXUS9hQzVqYjIxd2NtVnpjMlZrVkdWNFUzVmlTVzFoWjJVeVJDaGlMR1lzWXl4bkxHMHNiaXh4TEd3cE9tRXVibVZsWkhORGIzQjVQeWgxS0Nrc2FDNWpiM0I1VkdWNFUzVmlTVzFoWjJVeVJDaGlMR1lzWXl4bkxHRXVlRTltWm5ObGRDeGhMbmxQWm1aelpYUXNiaXh4S1NrNmFDNTBaWGhUZFdKSmJXRm5aVEpFS0dJc1ppeGpMR2NzYml4eExHUXNjaXhzS1gxbWRXNWpkR2x2YmlCbllTZ3BlM0psZEhWeWJpQk9ZUzV3YjNBb0tYeDhibVYzSUhGOVpuVnVZM1JwYjI0Z1Z5aGhLWHRoTG01bFpXUnpSbkpsWlNZbWVTNW1jbVZsVkhsd1pTaGhMbVJoZEdFcE8zRXVZMkZzYkNoaEtUdE9ZUzV3ZFhOb0tHRXBmV1oxYm1OMGFXOXVJRklvS1h0RUxtTmhiR3dvZEdocGN5azdkR2hwY3k1blpXNU5hWEJ0WVhCelBTRXhPM1JvYVhNdWJXbHdiV0Z3U0dsdWREMDBNelV5TzNSb2FYTXViV2x3YldGemF6MHdPM1JvYVhNdWFXMWhaMlZ6UFVGeWNtRjVLREUyS1gxY2JtWjFibU4wYVc5dUlFY29ZU3hpTEdNcGUzWmhjaUJuUFdFdWFXMWhaMlZ6V3pCZFBXZGhLQ2s3WVM1dGFYQnRZWE5yUFRFN1p5NTNhV1IwYUQxaExuZHBaSFJvUFdJN1p5NW9aV2xuYUhROVlTNW9aV2xuYUhROVl6dG5MbU5vWVc1dVpXeHpQV0V1WTJoaGJtNWxiSE05TkgxbWRXNWpkR2x2YmlCaVlTaGhMR0lwZTNaaGNpQmpQVzUxYkd3N2FXWW9jaWhpS1NsalBXRXVhVzFoWjJWeld6QmRQV2RoS0Nrc1N5aGpMR0VwTEZNb1l5eGlLU3hoTG0xcGNHMWhjMnM5TVR0bGJITmxJR2xtS0Zrb1lTeGlLU3hCY25KaGVTNXBjMEZ5Y21GNUtHSXViV2x3YldGd0tTbG1iM0lvZG1GeUlHYzlZaTV0YVhCdFlYQXNhRDB3TzJnOFp5NXNaVzVuZEdnN0t5dG9LV005WVM1cGJXRm5aWE5iYUYwOVoyRW9LU3hMS0dNc1lTa3NZeTUzYVdSMGFENCtQV2dzWXk1b1pXbG5hSFErUGoxb0xGTW9ZeXhuVzJoZEtTeGhMbTFwY0cxaGMydDhQVEU4UEdnN1pXeHpaU0JqUFdFdWFXMWhaMlZ6V3pCZFBXZGhLQ2tzU3loakxHRXBMRk1vWXl4aUtTeGhMbTFwY0cxaGMyczlNVHRMS0dFc1lTNXBiV0ZuWlhOYk1GMHBmV1oxYm1OMGFXOXVJRzVoS0dFc1lpbDdabTl5S0haaGNpQmpQV0V1YVcxaFoyVnpMR2M5TUR0blBHTXViR1Z1WjNSb0ppWmpXMmRkT3lzclp5bDdkbUZ5SUdZOVkxdG5YU3hyUFdJc2JEMW5MRzA5Wmk1bGJHVnRaVzUwTEZ4dVpEMW1MbVJoZEdFc2NqMW1MbWx1ZEdWeWJtRnNabTl5YldGMExHNDlaaTVtYjNKdFlYUXNjVDFtTG5SNWNHVXNkRDFtTG5kcFpIUm9MSGs5Wmk1b1pXbG5hSFE3ZG1Fb1ppazdiVDlvTG5SbGVFbHRZV2RsTWtRb2F5eHNMRzRzYml4eExHMHBPbVl1WTI5dGNISmxjM05sWkQ5b0xtTnZiWEJ5WlhOelpXUlVaWGhKYldGblpUSkVLR3NzYkN4eUxIUXNlU3d3TEdRcE9tWXVibVZsWkhORGIzQjVQeWgxS0Nrc2FDNWpiM0I1VkdWNFNXMWhaMlV5UkNockxHd3NiaXhtTG5oUFptWnpaWFFzWmk1NVQyWm1jMlYwTEhRc2VTd3dLU2s2YUM1MFpYaEpiV0ZuWlRKRUtHc3NiQ3h1TEhRc2VTd3dMRzRzY1N4a0tYMTlablZ1WTNScGIyNGdlV0VvS1h0MllYSWdZVDFLWVM1d2IzQW9LWHg4Ym1WM0lGSTdSQzVqWVd4c0tHRXBPMlp2Y2loMllYSWdZajFoTG0xcGNHMWhjMnM5TURzeE5qNWlPeXNyWWlsaExtbHRZV2RsYzF0aVhUMXVkV3hzTzNKbGRIVnliaUJoZldaMWJtTjBhVzl1SUZVb1lTbDdabTl5S0haaGNpQmlQV0V1YVcxaFoyVnpMR005TUR0alBHSXViR1Z1WjNSb095c3JZeWxpVzJOZEppWlhLR0piWTEwcExHSmJZMTA5Ym5Wc2JEdEtZUzV3ZFhOb0tHRXBmV1oxYm1OMGFXOXVJR2xoS0NsN2RHaHBjeTV0WVdkR2FXeDBaWEk5ZEdocGN5NXRhVzVHYVd4MFpYSTlPVGN5T0R0MGFHbHpMbmR5WVhCVVBWeHVkR2hwY3k1M2NtRndVejB6TXpBM01UdDBhR2x6TG1GdWFYTnZkSEp2Y0dsalBURTdkR2hwY3k1blpXNU5hWEJ0WVhCelBTRXhPM1JvYVhNdWJXbHdiV0Z3U0dsdWREMDBNelV5ZldaMWJtTjBhVzl1SUd0aEtHRXNZaWw3WENKdGFXNWNJbWx1SUdJbUppaGhMbTFwYmtacGJIUmxjajFSVzJJdWJXbHVYU3d3UEQxdUxtbHVaR1Y0VDJZb1lTNXRhVzVHYVd4MFpYSXBKaVlvWVM1blpXNU5hWEJ0WVhCelBTRXdLU2s3WENKdFlXZGNJbWx1SUdJbUppaGhMbTFoWjBacGJIUmxjajFvWVZ0aUxtMWhaMTBwTzNaaGNpQmpQV0V1ZDNKaGNGTXNaejFoTG5keVlYQlVPMmxtS0Z3aWQzSmhjRndpYVc0Z1lpbDdkbUZ5SUdnOVlpNTNjbUZ3TzF3aWMzUnlhVzVuWENJOVBUMTBlWEJsYjJZZ2FEOWpQV2M5VDF0b1hUcEJjbkpoZVM1cGMwRnljbUY1S0dncEppWW9ZejFQVzJoYk1GMWRMR2M5VDF0b1d6RmRYU2w5Wld4elpWd2lkM0poY0ZOY0ltbHVJR0ltSmloalBVOWJZaTUzY21Gd1UxMHBMRndpZDNKaGNGUmNJbWx1SUdJbUppaG5QVTliWWk1M2NtRndWRjBwTzJFdWQzSmhjRk05WXp0aExuZHlZWEJVUFdjN1hDSmhibWx6YjNSeWIzQnBZMXdpYVc0Z1lpWW1LR0V1WVc1cGMyOTBjbTl3YVdNOVlpNWhibWx6YjNSeWIzQnBZeWs3YVdZb1hDSnRhWEJ0WVhCY0ltbHVJR0lwZTJNOUlURTdjM2RwZEdOb0tIUjVjR1Z2WmlCaUxtMXBjRzFoY0NsN1kyRnpaU0JjSW5OMGNtbHVaMXdpT21FdWJXbHdiV0Z3U0dsdWREMWNibVZoVzJJdWJXbHdiV0Z3WFR0alBXRXVaMlZ1VFdsd2JXRndjejBoTUR0aWNtVmhhenRqWVhObElGd2lZbTl2YkdWaGJsd2lPbU05WVM1blpXNU5hWEJ0WVhCelBXSXViV2x3YldGd08ySnlaV0ZyTzJOaGMyVWdYQ0p2WW1wbFkzUmNJanBoTG1kbGJrMXBjRzFoY0hNOUlURXNZejBoTUgwaFkzeDhYQ0p0YVc1Y0ltbHVJR0o4ZkNoaExtMXBia1pwYkhSbGNqMDVPVGcwS1gxOVpuVnVZM1JwYjI0Z2NtRW9ZU3hpS1h0b0xuUmxlRkJoY21GdFpYUmxjbWtvWWl3eE1ESTBNU3hoTG0xcGJrWnBiSFJsY2lrN2FDNTBaWGhRWVhKaGJXVjBaWEpwS0dJc01UQXlOREFzWVM1dFlXZEdhV3gwWlhJcE8yZ3VkR1Y0VUdGeVlXMWxkR1Z5YVNoaUxERXdNalF5TEdFdWQzSmhjRk1wTzJndWRHVjRVR0Z5WVcxbGRHVnlhU2hpTERFd01qUXpMR0V1ZDNKaGNGUXBPMll1WlhoMFgzUmxlSFIxY21WZlptbHNkR1Z5WDJGdWFYTnZkSEp2Y0dsakppWm9MblJsZUZCaGNtRnRaWFJsY21rb1lpd3pOREEwTml4aExtRnVhWE52ZEhKdmNHbGpLVHRoTG1kbGJrMXBjRzFoY0hNbUppaG9MbWhwYm5Rb016TXhOekFzWVM1dGFYQnRZWEJJYVc1MEtTeG9MbWRsYm1WeVlYUmxUV2x3YldGd0tHSXBLWDFtZFc1amRHbHZiaUJ6WVNoaEtYdEVMbU5oYkd3b2RHaHBjeWs3ZEdocGN5NXRhWEJ0WVhOclBUQTdkR2hwY3k1cGJuUmxjbTVoYkdadmNtMWhkRDFjYmpZME1EZzdkR2hwY3k1cFpEMUNZU3NyTzNSb2FYTXVjbVZtUTI5MWJuUTlNVHQwYUdsekxuUmhjbWRsZEQxaE8zUm9hWE11ZEdWNGRIVnlaVDFvTG1OeVpXRjBaVlJsZUhSMWNtVW9LVHQwYUdsekxuVnVhWFE5TFRFN2RHaHBjeTVpYVc1a1EyOTFiblE5TUR0MGFHbHpMblJsZUVsdVptODlibVYzSUdsaE8xb3VjSEp2Wm1sc1pTWW1LSFJvYVhNdWMzUmhkSE05ZTNOcGVtVTZNSDBwZldaMWJtTjBhVzl1SUdSaEtHRXBlMmd1WVdOMGFYWmxWR1Y0ZEhWeVpTZ3pNems0TkNrN2FDNWlhVzVrVkdWNGRIVnlaU2hoTG5SaGNtZGxkQ3hoTG5SbGVIUjFjbVVwZldaMWJtTjBhVzl1SUdwaEtDbDdkbUZ5SUdFOWIyRmJNRjA3WVQ5b0xtSnBibVJVWlhoMGRYSmxLR0V1ZEdGeVoyVjBMR0V1ZEdWNGRIVnlaU2s2YUM1aWFXNWtWR1Y0ZEhWeVpTZ3pOVFV6TEc1MWJHd3BmV1oxYm1OMGFXOXVJR3hoS0dFcGUzWmhjaUJpUFdFdWRHVjRkSFZ5WlN4alBXRXVkVzVwZEN4blBXRXVkR0Z5WjJWME96QThQV01tSmlob0xtRmpkR2wyWlZSbGVIUjFjbVVvTXpNNU9EUXJZeWtzYUM1aWFXNWtWR1Y0ZEhWeVpTaG5MRzUxYkd3cExHOWhXMk5kUFc1MWJHd3BPMmd1WkdWc1pYUmxWR1Y0ZEhWeVpTaGlLVHRoTG5SbGVIUjFjbVU5Ym5Wc2JEdGhMbkJoY21GdGN6MXVkV3hzTzJFdWNHbDRaV3h6UFc1MWJHdzdZUzV5WldaRGIzVnVkRDFjYmpBN1pHVnNaWFJsSUdOaFcyRXVhV1JkTzB3dWRHVjRkSFZ5WlVOdmRXNTBMUzE5ZG1GeUlHVmhQWHRjSW1SdmJpZDBJR05oY21WY0lqbzBNelV5TEZ3aVpHOXVkQ0JqWVhKbFhDSTZORE0xTWl4dWFXTmxPalF6TlRRc1ptRnpkRG8wTXpVemZTeFBQWHR5WlhCbFlYUTZNVEEwT1Rjc1kyeGhiWEE2TXpNd056RXNiV2x5Y205eU9qTXpOalE0ZlN4b1lUMTdibVZoY21WemREbzVOekk0TEd4cGJtVmhjam81TnpJNWZTeFJQV0lvZTIxcGNHMWhjRG81T1RnM0xGd2libVZoY21WemRDQnRhWEJ0WVhBZ2JtVmhjbVZ6ZEZ3aU9qazVPRFFzWENKc2FXNWxZWElnYldsd2JXRndJRzVsWVhKbGMzUmNJam81T1RnMUxGd2libVZoY21WemRDQnRhWEJ0WVhBZ2JHbHVaV0Z5WENJNk9UazROaXhjSW14cGJtVmhjaUJ0YVhCdFlYQWdiR2x1WldGeVhDSTZPVGs0TjMwc2FHRXBMSEJoUFh0dWIyNWxPakFzWW5KdmQzTmxjam96TnpRME5IMHNWajE3ZFdsdWREZzZOVEV5TVN4eVoySmhORG96TWpneE9TeHlaMkkxTmpVNk16TTJNelVzWENKeVoySTFJR0V4WENJNk16STRNakI5TEZnOWUyRnNjR2hoT2pZME1EWXNiSFZ0YVc1aGJtTmxPalkwTURrc1hDSnNkVzFwYm1GdVkyVWdZV3h3YUdGY0lqbzJOREV3TEhKbllqbzJOREEzTEhKblltRTZOalF3T0N4eVoySmhORG96TWpnMU5DeGNJbkpuWWpVZ1lURmNJam96TWpnMU5TeHlaMkkxTmpVNk16WXhPVFI5TEZ4dVZEMTdmVHRtTG1WNGRGOXpjbWRpSmlZb1dDNXpjbWRpUFRNMU9UQTBMRmd1YzNKblltRTlNelU1TURZcE8yWXViMlZ6WDNSbGVIUjFjbVZmWm14dllYUW1KaWhXTG1ac2IyRjBNekk5Vmx0Y0ltWnNiMkYwWENKZFBUVXhNallwTzJZdWIyVnpYM1JsZUhSMWNtVmZhR0ZzWmw5bWJHOWhkQ1ltS0ZZdVpteHZZWFF4TmoxV1cxd2lhR0ZzWmlCbWJHOWhkRndpWFQwek5qRTVNeWs3Wmk1M1pXSm5iRjlrWlhCMGFGOTBaWGgwZFhKbEppWW9ZaWhZTEh0a1pYQjBhRG8yTkRBeUxGd2laR1Z3ZEdnZ2MzUmxibU5wYkZ3aU9qTTBNRFF4ZlNrc1lpaFdMSHQxYVc1ME1UWTZOVEV5TXl4MWFXNTBNekk2TlRFeU5TeGNJbVJsY0hSb0lITjBaVzVqYVd4Y0lqb3pOREEwTW4wcEtUdG1MbmRsWW1kc1gyTnZiWEJ5WlhOelpXUmZkR1Y0ZEhWeVpWOXpNM1JqSmlaaUtGUXNlMXdpY21kaUlITXpkR01nWkhoME1Wd2lPak16TnpjMkxGd2ljbWRpWVNCek0zUmpJR1I0ZERGY0lqb3pNemMzTnl4Y0luSm5ZbUVnY3pOMFl5QmtlSFF6WENJNk16TTNOemdzWENKeVoySmhJSE16ZEdNZ1pIaDBOVndpT2pNek56YzVmU2s3Wmk1M1pXSm5iRjlqYjIxd2NtVnpjMlZrWDNSbGVIUjFjbVZmWVhSakppWmlLRlFzZTF3aWNtZGlJR0YwWTF3aU9qTTFPVGcyTEZ3aWNtZGlZU0JoZEdNZ1pYaHdiR2xqYVhRZ1lXeHdhR0ZjSWpvek5UazROeXhjSW5KblltRWdZWFJqSUdsdWRHVnljRzlzWVhSbFpDQmhiSEJvWVZ3aU9qTTBOems0ZlNrN1hHNW1MbmRsWW1kc1gyTnZiWEJ5WlhOelpXUmZkR1Y0ZEhWeVpWOXdkbkowWXlZbVlpaFVMSHRjSW5KbllpQndkbkowWXlBMFluQndkakZjSWpvek5UZzBNQ3hjSW5KbllpQndkbkowWXlBeVluQndkakZjSWpvek5UZzBNU3hjSW5KblltRWdjSFp5ZEdNZ05HSndjSFl4WENJNk16VTRORElzWENKeVoySmhJSEIyY25SaklESmljSEIyTVZ3aU9qTTFPRFF6ZlNrN1ppNTNaV0puYkY5amIyMXdjbVZ6YzJWa1gzUmxlSFIxY21WZlpYUmpNU1ltS0ZSYlhDSnlaMklnWlhSak1Wd2lYVDB6TmpFNU5pazdkbUZ5SUhWaFBVRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHZ3VaMlYwVUdGeVlXMWxkR1Z5S0RNME5EWTNLU2s3VDJKcVpXTjBMbXRsZVhNb1ZDa3VabTl5UldGamFDaG1kVzVqZEdsdmJpaGhLWHQyWVhJZ1lqMVVXMkZkT3pBOFBYVmhMbWx1WkdWNFQyWW9ZaWttSmloWVcyRmRQV0lwZlNrN2RtRnlJRVZoUFU5aWFtVmpkQzVyWlhsektGZ3BPM0F1ZEdWNGRIVnlaVVp2Y20xaGRITTlSV0U3ZG1GeUlFWmhQVnRkTzA5aWFtVmpkQzVyWlhsektGZ3BMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9ZU2w3Um1GYldGdGhYVjA5WVgwcE8zWmhjaUJJWVQxYlhUdFBZbXBsWTNRdWEyVjVjeWhXS1M1bWIzSkZZV05vS0daMWJtTjBhVzl1S0dFcGUwaGhXMVpiWVYxZFBXRjlLVHQyWVhJZ1NXRTlXMTA3VDJKcVpXTjBMbXRsZVhNb2FHRXBMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9ZU2w3U1dGYmFHRmJZVjFkUFZ4dVlYMHBPM1poY2lCRFlUMWJYVHRQWW1wbFkzUXVhMlY1Y3loUktTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHRXBlME5oVzFGYllWMWRQV0Y5S1R0MllYSWdSR0U5VzEwN1QySnFaV04wTG10bGVYTW9UeWt1Wm05eVJXRmphQ2htZFc1amRHbHZiaWhoS1h0RVlWdFBXMkZkWFQxaGZTazdkbUZ5SUZCaFBVVmhMbkpsWkhWalpTaG1kVzVqZEdsdmJpaGhMR0lwZTNaaGNpQmpQVmhiWWwwN05qUXdPVDA5UFdOOGZEWTBNRFk5UFQxamZIdzJOREE1UFQwOVkzeDhOalF4TUQwOVBXTjhmRFkwTURJOVBUMWpmSHd6TkRBME1UMDlQV00vWVZ0alhUMWpPak15T0RVMVBUMDlZM3g4TUR3OVlpNXBibVJsZUU5bUtGd2ljbWRpWVZ3aUtUOWhXMk5kUFRZME1EZzZZVnRqWFQwMk5EQTNPM0psZEhWeWJpQmhmU3g3ZlNrc1RtRTlXMTBzU21FOVcxMHNRbUU5TUN4allUMTdmU3gwWVQxd0xtMWhlRlJsZUhSMWNtVlZibWwwY3l4dllUMUJjbkpoZVNoMFlTa3ViV0Z3S0daMWJtTjBhVzl1S0NsN2NtVjBkWEp1SUc1MWJHeDlLVHRpS0hOaExuQnliM1J2ZEhsd1pTeDdZbWx1WkRwbWRXNWpkR2x2YmlncGUzUm9hWE11WW1sdVpFTnZkVzUwS3oweE8zWmhjaUJoUFhSb2FYTXVkVzVwZER0cFppZ3dQbUVwZTJadmNpaDJZWElnWWowd08ySThkR0U3S3l0aUtYdDJZWElnWXoxdllWdGlYVHRwWmloaktYdHBaaWd3UEdNdVltbHVaRU52ZFc1MEtXTnZiblJwYm5WbE8xeHVZeTUxYm1sMFBTMHhmVzloVzJKZFBYUm9hWE03WVQxaU8ySnlaV0ZyZlZvdWNISnZabWxzWlNZbVRDNXRZWGhVWlhoMGRYSmxWVzVwZEhNOFlTc3hKaVlvVEM1dFlYaFVaWGgwZFhKbFZXNXBkSE05WVNzeEtUdDBhR2x6TG5WdWFYUTlZVHRvTG1GamRHbDJaVlJsZUhSMWNtVW9Nek01T0RRcllTazdhQzVpYVc1a1ZHVjRkSFZ5WlNoMGFHbHpMblJoY21kbGRDeDBhR2x6TG5SbGVIUjFjbVVwZlhKbGRIVnliaUJoZlN4MWJtSnBibVE2Wm5WdVkzUnBiMjRvS1hzdExYUm9hWE11WW1sdVpFTnZkVzUwZlN4a1pXTlNaV1k2Wm5WdVkzUnBiMjRvS1hzd1BqMHRMWFJvYVhNdWNtVm1RMjkxYm5RbUpteGhLSFJvYVhNcGZYMHBPMW91Y0hKdlptbHNaU1ltS0V3dVoyVjBWRzkwWVd4VVpYaDBkWEpsVTJsNlpUMW1kVzVqZEdsdmJpZ3BlM1poY2lCaFBUQTdUMkpxWldOMExtdGxlWE1vWTJFcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0b1lpbDdZU3M5WTJGYllsMHVjM1JoZEhNdWMybDZaWDBwTzNKbGRIVnliaUJoZlNrN2NtVjBkWEp1ZTJOeVpXRjBaVEpFT21aMWJtTjBhVzl1S0dJc1l5bDdablZ1WTNScGIyNGdaeWhpTEdNcGUzWmhjaUJsUFdZdWRHVjRTVzVtYnp0cFlTNWpZV3hzS0dVcE8zWmhjaUJvUFhsaEtDazdYQ0p1ZFcxaVpYSmNJajA5UFhSNWNHVnZaaUJpUDF3aWJuVnRZbVZ5WENJOVBUMTBlWEJsYjJZZ1l6OWNia2NvYUN4aWZEQXNZM3d3S1RwSEtHZ3NZbnd3TEdKOE1DazZZajhvYTJFb1pTeGlLU3hpWVNob0xHSXBLVHBIS0dnc01Td3hLVHRsTG1kbGJrMXBjRzFoY0hNbUppaG9MbTFwY0cxaGMyczlLR2d1ZDJsa2RHZzhQREVwTFRFcE8yWXViV2x3YldGemF6MW9MbTFwY0cxaGMyczdTeWhtTEdncE8yWXVhVzUwWlhKdVlXeG1iM0p0WVhROWFDNXBiblJsY201aGJHWnZjbTFoZER0bkxuZHBaSFJvUFdndWQybGtkR2c3Wnk1b1pXbG5hSFE5YUM1b1pXbG5hSFE3WkdFb1ppazdibUVvYUN3ek5UVXpLVHR5WVNobExETTFOVE1wTzJwaEtDazdWU2hvS1R0YUxuQnliMlpwYkdVbUppaG1Mbk4wWVhSekxuTnBlbVU5WVNobUxtbHVkR1Z5Ym1Gc1ptOXliV0YwTEdZdWRIbHdaU3hvTG5kcFpIUm9MR2d1YUdWcFoyaDBMR1V1WjJWdVRXbHdiV0Z3Y3l3aE1Ta3BPMmN1Wm05eWJXRjBQVVpoVzJZdWFXNTBaWEp1WVd4bWIzSnRZWFJkTzJjdWRIbHdaVDFJWVZ0bUxuUjVjR1ZkTzJjdWJXRm5QVWxoVzJVdWJXRm5SbWxzZEdWeVhUdG5MbTFwYmoxRFlWdGxMbTFwYmtacGJIUmxjbDA3Wnk1M2NtRndVejFFWVZ0bExuZHlZWEJUWFR0bkxuZHlZWEJVUFVSaFcyVXVkM0poY0ZSZE8zSmxkSFZ5YmlCbmZYWmhjaUJtUFc1bGR5QnpZU2d6TlRVektUdGpZVnRtTG1sa1hUMW1PMHd1ZEdWNGRIVnlaVU52ZFc1MEt5czdYRzVuS0dJc1l5azdaeTV6ZFdKcGJXRm5aVDFtZFc1amRHbHZiaWhoTEdJc1l5eGxLWHRpZkQwd08yTjhQVEE3Wlh3OU1EdDJZWElnWkQxbllTZ3BPMHNvWkN4bUtUdGtMbmRwWkhSb1BUQTdaQzVvWldsbmFIUTlNRHRUS0dRc1lTazdaQzUzYVdSMGFEMWtMbmRwWkhSb2ZId29aaTUzYVdSMGFENCtaU2t0WWp0a0xtaGxhV2RvZEQxa0xtaGxhV2RvZEh4OEtHWXVhR1ZwWjJoMFBqNWxLUzFqTzJSaEtHWXBPMjFoS0dRc016VTFNeXhpTEdNc1pTazdhbUVvS1R0WEtHUXBPM0psZEhWeWJpQm5mVHRuTG5KbGMybDZaVDFtZFc1amRHbHZiaWhpTEdNcGUzWmhjaUJsUFdKOE1DeHJQV044TUh4OFpUdHBaaWhsUFQwOVppNTNhV1IwYUNZbWF6MDlQV1l1YUdWcFoyaDBLWEpsZEhWeWJpQm5PMmN1ZDJsa2RHZzlaaTUzYVdSMGFEMWxPMmN1YUdWcFoyaDBQV1l1YUdWcFoyaDBQV3M3WkdFb1ppazdabTl5S0haaGNpQmtQVEE3Wmk1dGFYQnRZWE5yUGo1a095c3JaQ2xvTG5SbGVFbHRZV2RsTWtRb016VTFNeXhrTEdZdVptOXliV0YwTEdVK1BtUXNhejQrWkN3d0xHWXVabTl5YldGMExHWXVkSGx3WlN4dWRXeHNLVHRxWVNncE8xb3VjSEp2Wm1sc1pTWW1LR1l1YzNSaGRITXVjMmw2WlQxaEtHWXVhVzUwWlhKdVlXeG1iM0p0WVhRc1ppNTBlWEJsTEdVc2F5d2hNU3doTVNrcE8zSmxkSFZ5YmlCbmZUdGNibWN1WDNKbFoyeFVlWEJsUFZ3aWRHVjRkSFZ5WlRKa1hDSTdaeTVmZEdWNGRIVnlaVDFtTzFvdWNISnZabWxzWlNZbUtHY3VjM1JoZEhNOVppNXpkR0YwY3lrN1p5NWtaWE4wY205NVBXWjFibU4wYVc5dUtDbDdaaTVrWldOU1pXWW9LWDA3Y21WMGRYSnVJR2Q5TEdOeVpXRjBaVU4xWW1VNlpuVnVZM1JwYjI0b1lpeGpMR2NzWml4ckxHd3BlMloxYm1OMGFXOXVJRzBvWWl4akxHVXNaeXhvTEdZcGUzWmhjaUJyTEd3OWJpNTBaWGhKYm1adk8ybGhMbU5oYkd3b2JDazdabTl5S0dzOU1EczJQbXM3S3l0cktXUmJhMTA5ZVdFb0tUdHBaaWhjSW01MWJXSmxjbHdpUFQwOWRIbHdaVzltSUdKOGZDRmlLV1p2Y2loaVBXSjhNSHg4TVN4clBUQTdOajVyT3lzcmF5bEhLR1JiYTEwc1lpeGlLVHRsYkhObElHbG1LRndpYjJKcVpXTjBYQ0k5UFQxMGVYQmxiMllnWWlscFppaGpLV0poS0dSYk1GMHNZaWtzWW1Fb1pGc3hYU3hqS1N4aVlTaGtXekpkTEdVcExHSmhLR1JiTTEwc1p5a3NZbUVvWkZzMFhTeG9LU3hpWVNoa1d6VmRMR1lwTzJWc2MyVWdhV1lvYTJFb2JDeGlLU3haS0c0c1lpa3NYQ0ptWVdObGMxd2lhVzRnWWlsbWIzSW9ZajFpTG1aaFkyVnpMR3M5TURzMlBtczdLeXRyS1Vzb1pGdHJYU3h1S1N4aVlTaGtXMnRkTEdKYmExMHBPMlZzYzJVZ1ptOXlLR3M5TURzMlBtczdLeXRyS1dKaEtHUmJhMTBzWWlrN1hHNUxLRzRzWkZzd1hTazdiaTV0YVhCdFlYTnJQV3d1WjJWdVRXbHdiV0Z3Y3o4b1pGc3dYUzUzYVdSMGFEdzhNU2t0TVRwa1d6QmRMbTFwY0cxaGMyczdiaTVwYm5SbGNtNWhiR1p2Y20xaGREMWtXekJkTG1sdWRHVnlibUZzWm05eWJXRjBPMjB1ZDJsa2RHZzlaRnN3WFM1M2FXUjBhRHR0TG1obGFXZG9kRDFrV3pCZExtaGxhV2RvZER0a1lTaHVLVHRtYjNJb2F6MHdPelkrYXpzcksyc3BibUVvWkZ0clhTd3pOREEyT1N0cktUdHlZU2hzTERNME1EWTNLVHRxWVNncE8xb3VjSEp2Wm1sc1pTWW1LRzR1YzNSaGRITXVjMmw2WlQxaEtHNHVhVzUwWlhKdVlXeG1iM0p0WVhRc2JpNTBlWEJsTEcwdWQybGtkR2dzYlM1b1pXbG5hSFFzYkM1blpXNU5hWEJ0WVhCekxDRXdLU2s3YlM1bWIzSnRZWFE5Um1GYmJpNXBiblJsY201aGJHWnZjbTFoZEYwN2JTNTBlWEJsUFVoaFcyNHVkSGx3WlYwN2JTNXRZV2M5U1dGYmJDNXRZV2RHYVd4MFpYSmRPMjB1YldsdVBVTmhXMnd1YldsdVJtbHNkR1Z5WFR0dExuZHlZWEJUUFVSaFcyd3VkM0poY0ZOZE8yMHVkM0poY0ZROVJHRmJiQzUzY21Gd1ZGMDdabTl5S0dzOU1EczJQbXM3S3l0cktWVW9aRnRyWFNrN2NtVjBkWEp1SUcxOWRtRnlJRzQ5Ym1WM0lITmhLRE0wTURZM0tUdGpZVnR1TG1sa1hUMXVPMHd1WTNWaVpVTnZkVzUwS3lzN2RtRnlJR1E5UVhKeVlYa29OaWs3WEc1dEtHSXNZeXhuTEdZc2F5eHNLVHR0TG5OMVltbHRZV2RsUFdaMWJtTjBhVzl1S0dFc1lpeGpMR1FzWlNsN1kzdzlNRHRrZkQwd08yVjhQVEE3ZG1GeUlHYzlaMkVvS1R0TEtHY3NiaWs3Wnk1M2FXUjBhRDB3TzJjdWFHVnBaMmgwUFRBN1V5aG5MR0lwTzJjdWQybGtkR2c5Wnk1M2FXUjBhSHg4S0c0dWQybGtkR2crUG1VcExXTTdaeTVvWldsbmFIUTlaeTVvWldsbmFIUjhmQ2h1TG1obGFXZG9kRDQrWlNrdFpEdGtZU2h1S1R0dFlTaG5MRE0wTURZNUsyRXNZeXhrTEdVcE8ycGhLQ2s3VnlobktUdHlaWFIxY200Z2JYMDdiUzV5WlhOcGVtVTlablZ1WTNScGIyNG9ZaWw3WW53OU1EdHBaaWhpSVQwOWJpNTNhV1IwYUNsN2JTNTNhV1IwYUQxdUxuZHBaSFJvUFdJN2JTNW9aV2xuYUhROWJpNW9aV2xuYUhROVlqdGtZU2h1S1R0bWIzSW9kbUZ5SUdNOU1EczJQbU03S3l0aktXWnZjaWgyWVhJZ1pEMHdPMjR1Yldsd2JXRnphejQrWkRzcksyUXBhQzUwWlhoSmJXRm5aVEpFS0RNME1EWTVLMk1zWkN4dUxtWnZjbTFoZEN4aVBqNWtMR0krUG1Rc01DeHVMbVp2Y20xaGRDeHVMblI1Y0dVc2JuVnNiQ2s3YW1Fb0tUdGFMbkJ5YjJacGJHVW1KaWh1TG5OMFlYUnpMbk5wZW1VOVlTaHVMbWx1ZEdWeWJtRnNabTl5YldGMExHNHVkSGx3WlN4dExuZHBaSFJvTEcwdWFHVnBaMmgwTENFeExDRXdLU2s3WEc1eVpYUjFjbTRnYlgxOU8yMHVYM0psWjJ4VWVYQmxQVndpZEdWNGRIVnlaVU4xWW1WY0lqdHRMbDkwWlhoMGRYSmxQVzQ3V2k1d2NtOW1hV3hsSmlZb2JTNXpkR0YwY3oxdUxuTjBZWFJ6S1R0dExtUmxjM1J5YjNrOVpuVnVZM1JwYjI0b0tYdHVMbVJsWTFKbFppZ3BmVHR5WlhSMWNtNGdiWDBzWTJ4bFlYSTZablZ1WTNScGIyNG9LWHRtYjNJb2RtRnlJR0U5TUR0aFBIUmhPeXNyWVNsb0xtRmpkR2wyWlZSbGVIUjFjbVVvTXpNNU9EUXJZU2tzYUM1aWFXNWtWR1Y0ZEhWeVpTZ3pOVFV6TEc1MWJHd3BMRzloVzJGZFBXNTFiR3c3UmloallTa3VabTl5UldGamFDaHNZU2s3VEM1amRXSmxRMjkxYm5ROU1EdE1MblJsZUhSMWNtVkRiM1Z1ZEQwd2ZTeG5aWFJVWlhoMGRYSmxPbVoxYm1OMGFXOXVLR0VwZTNKbGRIVnliaUJ1ZFd4c2ZTeHlaWE4wYjNKbE9tWjFibU4wYVc5dUtDbDdSaWhqWVNrdVptOXlSV0ZqYUNobWRXNWpkR2x2YmloaEtYdGhMblJsZUhSMWNtVTlhQzVqY21WaGRHVlVaWGgwZFhKbEtDazdhQzVpYVc1a1ZHVjRkSFZ5WlNoaExuUmhjbWRsZEN4aExuUmxlSFIxY21VcE8yWnZjaWgyWVhJZ1lqMHdPek15UG1JN0t5dGlLV2xtS0RBaFBUMG9ZUzV0YVhCdFlYTnJKakU4UEdJcEtXbG1LRE0xTlRNOVBUMWhMblJoY21kbGRDbG9MblJsZUVsdFlXZGxNa1FvTXpVMU15eGlMR0V1YVc1MFpYSnVZV3htYjNKdFlYUXNYRzVoTG5kcFpIUm9QajVpTEdFdWFHVnBaMmgwUGo1aUxEQXNZUzVwYm5SbGNtNWhiR1p2Y20xaGRDeGhMblI1Y0dVc2JuVnNiQ2s3Wld4elpTQm1iM0lvZG1GeUlHTTlNRHMyUG1NN0t5dGpLV2d1ZEdWNFNXMWhaMlV5UkNnek5EQTJPU3RqTEdJc1lTNXBiblJsY201aGJHWnZjbTFoZEN4aExuZHBaSFJvUGo1aUxHRXVhR1ZwWjJoMFBqNWlMREFzWVM1cGJuUmxjbTVoYkdadmNtMWhkQ3hoTG5SNWNHVXNiblZzYkNrN2NtRW9ZUzUwWlhoSmJtWnZMR0V1ZEdGeVoyVjBLWDBwZlgxOWZTeDdYQ0l1TDJOdmJuTjBZVzUwY3k5aGNuSmhlWFI1Y0dWekxtcHpiMjVjSWpvekxGd2lMaTkxZEdsc0wyVjRkR1Z1WkZ3aU9qSXlMRndpTGk5MWRHbHNMMlpzWVhSMFpXNWNJam95TXl4Y0lpNHZkWFJwYkM5cGN5MWhjbkpoZVMxc2FXdGxYQ0k2TWpRc1hDSXVMM1YwYVd3dmFYTXRibVJoY25KaGVWd2lPakkxTEZ3aUxpOTFkR2xzTDJsekxYUjVjR1ZrTFdGeWNtRjVYQ0k2TWpZc1hDSXVMM1YwYVd3dmNHOXZiRndpT2pJNExGd2lMaTkxZEdsc0wzUnZMV2hoYkdZdFpteHZZWFJjSWpvek1DeGNJaTR2ZFhScGJDOTJZV3gxWlhOY0lqb3pNWDFkTERFNU9sdG1kVzVqZEdsdmJpaG1MSEFzZFNsN2NDNWxlSEJ2Y25SelBXWjFibU4wYVc5dUtHWXNheWw3Wm5WdVkzUnBiMjRnY0NncGUzUm9hWE11Wlc1a1VYVmxjbmxKYm1SbGVEMTBhR2x6TG5OMFlYSjBVWFZsY25sSmJtUmxlRDFjYmkweE8zUm9hWE11YzNWdFBUQTdkR2hwY3k1emRHRjBjejF1ZFd4c2ZXWjFibU4wYVc5dUlISW9ZU3hpTEdNcGUzWmhjaUJtUFVZdWNHOXdLQ2w4Zkc1bGR5QndPMll1YzNSaGNuUlJkV1Z5ZVVsdVpHVjRQV0U3Wmk1bGJtUlJkV1Z5ZVVsdVpHVjRQV0k3Wmk1emRXMDlNRHRtTG5OMFlYUnpQV003ZFM1d2RYTm9LR1lwZlhaaGNpQmpQV3N1WlhoMFgyUnBjMnB2YVc1MFgzUnBiV1Z5WDNGMVpYSjVPMmxtS0NGaktYSmxkSFZ5YmlCdWRXeHNPM1poY2lCaFBWdGRMR0k5VzEwc1JqMWJYU3gxUFZ0ZExIUTlXMTBzZVQxYlhUdHlaWFIxY201N1ltVm5hVzVSZFdWeWVUcG1kVzVqZEdsdmJpaG5LWHQyWVhJZ1pqMWhMbkJ2Y0NncGZIeGpMbU55WldGMFpWRjFaWEo1UlZoVUtDazdZeTVpWldkcGJsRjFaWEo1UlZoVUtETTFNREEzTEdZcE8ySXVjSFZ6YUNobUtUdHlLR0l1YkdWdVozUm9MVEVzWWk1c1pXNW5kR2dzWnlsOUxHVnVaRkYxWlhKNU9tWjFibU4wYVc5dUtDbDdZeTVsYm1SUmRXVnllVVZZVkNnek5UQXdOeWw5TEhCMWMyaFRZMjl3WlZOMFlYUnpPbklzZFhCa1lYUmxPbVoxYm1OMGFXOXVLQ2w3ZG1GeUlHY3NaanRuUFdJdWJHVnVaM1JvTzJsbUtEQWhQVDFuS1h0NUxteGxibWQwYUQxTllYUm9MbTFoZUNoNUxteGxibWQwYUN4bkt6RXBPM1F1YkdWdVozUm9QVTFoZEdndWJXRjRLSFF1YkdWdVozUm9MRnh1WnlzeEtUdDBXekJkUFRBN2RtRnlJR3M5ZVZzd1hUMHdPMlp2Y2lobVBXYzlNRHRtUEdJdWJHVnVaM1JvT3lzclppbDdkbUZ5SUd3OVlsdG1YVHRqTG1kbGRGRjFaWEo1VDJKcVpXTjBSVmhVS0d3c016UTVNVGtwUHlockt6MWpMbWRsZEZGMVpYSjVUMkpxWldOMFJWaFVLR3dzTXpRNU1UZ3BMR0V1Y0hWemFDaHNLU2s2WWx0bkt5dGRQV3c3ZEZ0bUt6RmRQV3M3ZVZ0bUt6RmRQV2Q5WWk1c1pXNW5kR2c5Wnp0bWIzSW9aajFuUFRBN1pqeDFMbXhsYm1kMGFEc3JLMllwZTNaaGNpQnJQWFZiWmwwc2JqMXJMbk4wWVhKMFVYVmxjbmxKYm1SbGVDeHNQV3N1Wlc1a1VYVmxjbmxKYm1SbGVEdHJMbk4xYlNzOWRGdHNYUzEwVzI1ZE8yNDllVnR1WFR0c1BYbGJiRjA3YkQwOVBXNC9LR3N1YzNSaGRITXVaM0IxVkdsdFpTczlheTV6ZFcwdk1VVTJMRVl1Y0hWemFDaHJLU2s2S0dzdWMzUmhjblJSZFdWeWVVbHVaR1Y0UFc0c2F5NWxibVJSZFdWeWVVbHVaR1Y0UFd3c2RWdG5LeXRkUFdzcGZYVXViR1Z1WjNSb1BXZDlmU3huWlhST2RXMVFaVzVrYVc1blVYVmxjbWxsY3pwbWRXNWpkR2x2YmlncGUzSmxkSFZ5YmlCaUxteGxibWQwYUgwc1kyeGxZWEk2Wm5WdVkzUnBiMjRvS1h0aExuQjFjMmd1WVhCd2JIa29ZU3hpS1R0bWIzSW9kbUZ5SUdjOU1EdG5QR0V1YkdWdVozUm9PMmNyS3lsakxtUmxiR1YwWlZGMVpYSjVSVmhVS0dGYloxMHBPMXh1WWk1c1pXNW5kR2c5TUR0aExteGxibWQwYUQwd2ZTeHlaWE4wYjNKbE9tWjFibU4wYVc5dUtDbDdZaTVzWlc1bmRHZzlNRHRoTG14bGJtZDBhRDB3ZlgxOWZTeDdmVjBzTWpBNlcyWjFibU4wYVc5dUtHWXNjQ3gxS1h0d0xtVjRjRzl5ZEhNOVhDSjFibVJsWm1sdVpXUmNJaUU5UFhSNWNHVnZaaUJ3WlhKbWIzSnRZVzVqWlNZbWNHVnlabTl5YldGdVkyVXVibTkzUDJaMWJtTjBhVzl1S0NsN2NtVjBkWEp1SUhCbGNtWnZjbTFoYm1ObExtNXZkeWdwZlRwbWRXNWpkR2x2YmlncGUzSmxkSFZ5Yml0dVpYY2dSR0YwWlgxOUxIdDlYU3d5TVRwYlpuVnVZM1JwYjI0b1ppeHdMSFVwZTJaMWJtTjBhVzl1SUd3b1ppbDdjbVYwZFhKdUlFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHWXBmV1oxYm1OMGFXOXVJR3NvWmlsN2NtVjBkWEp1SUd3b1ppa3VhbTlwYmloY0lsd2lLWDEyWVhJZ2VEMW1LRndpTGk5bGVIUmxibVJjSWlrN2NDNWxlSEJ2Y25SelBXWjFibU4wYVc5dUtDbDdablZ1WTNScGIyNGdaaWdwZTNaaGNpQmlQVnRkTEdNOVcxMDdjbVYwZFhKdUlIZ29ablZ1WTNScGIyNG9LWHRpTG5CMWMyZ3VZWEJ3Ykhrb1lpeHNLR0Z5WjNWdFpXNTBjeWtwZlN4N1pHVm1PbVoxYm1OMGFXOXVLQ2w3ZG1GeUlHWTlYQ0oyWENJcllTc3JPMk11Y0hWemFDaG1LVHN3UEdGeVozVnRaVzUwY3k1c1pXNW5kR2dtSmx4dUtHSXVjSFZ6YUNobUxGd2lQVndpS1N4aUxuQjFjMmd1WVhCd2JIa29ZaXhzS0dGeVozVnRaVzUwY3lrcExHSXVjSFZ6YUNoY0lqdGNJaWtwTzNKbGRIVnliaUJtZlN4MGIxTjBjbWx1WnpwbWRXNWpkR2x2YmlncGUzSmxkSFZ5YmlCcktGc3dQR011YkdWdVozUm9QMXdpZG1GeUlGd2lLMk1yWENJN1hDSTZYQ0pjSWl4cktHSXBYU2w5ZlNsOVpuVnVZM1JwYjI0Z1l5Z3BlMloxYm1OMGFXOXVJR0VvWml4cktYdGpLR1lzYXl4Y0lqMWNJaXhpTG1SbFppaG1MR3NwTEZ3aU8xd2lLWDEyWVhJZ1lqMW1LQ2tzWXoxbUtDa3NhejFpTG5SdlUzUnlhVzVuTEhROVl5NTBiMU4wY21sdVp6dHlaWFIxY200Z2VDaG1kVzVqZEdsdmJpZ3BlMkl1WVhCd2JIa29ZaXhzS0dGeVozVnRaVzUwY3lrcGZTeDdaR1ZtT21JdVpHVm1MR1Z1ZEhKNU9tSXNaWGhwZERwakxITmhkbVU2WVN4elpYUTZablZ1WTNScGIyNG9ZeXhtTEdzcGUyRW9ZeXhtS1R0aUtHTXNaaXhjSWoxY0lpeHJMRndpTzF3aUtYMHNkRzlUZEhKcGJtYzZablZ1WTNScGIyNG9LWHR5WlhSMWNtNGdheWdwSzNRb0tYMTlLWDEyWVhJZ1lUMHdMR0k5VzEwc2NEMWJYU3gxUFdZb0tTeDBQWHQ5TzNKbGRIVnlibnRuYkc5aVlXdzZkU3hzYVc1ck9tWjFibU4wYVc5dUtHTXBlMlp2Y2loMllYSWdaejB3TzJjOGNDNXNaVzVuZEdnN0t5dG5LV2xtS0hCYloxMDlQVDFqS1hKbGRIVnliaUJpVzJkZE8xeHVaejFjSW1kY0lpdGhLeXM3WWk1d2RYTm9LR2NwTzNBdWNIVnphQ2hqS1R0eVpYUjFjbTRnWjMwc1lteHZZMnM2Wml4d2NtOWpPbVoxYm1OMGFXOXVLR0VzWWlsN1puVnVZM1JwYjI0Z1ppZ3BlM1poY2lCaFBWd2lZVndpSzJ3dWJHVnVaM1JvTzJ3dWNIVnphQ2hoS1R0eVpYUjFjbTRnWVgxMllYSWdiRDFiWFR0aVBXSjhmREE3Wm05eUtIWmhjaUJ5UFRBN2NqeGlPeXNyY2lsbUtDazdkbUZ5SUhJOVl5Z3BMRzQ5Y2k1MGIxTjBjbWx1Wnp0eVpYUjFjbTRnZEZ0aFhUMTRLSElzZTJGeVp6cG1MSFJ2VTNSeWFXNW5PbVoxYm1OMGFXOXVLQ2w3Y21WMGRYSnVJR3NvVzF3aVpuVnVZM1JwYjI0b1hDSXNiQzVxYjJsdUtDa3NYQ0lwZTF3aUxHNG9LU3hjSW4xY0lsMHBmWDBwZlN4elkyOXdaVHBqTEdOdmJtUTZablZ1WTNScGIyNG9LWHQyWVhJZ1lUMXJLR0Z5WjNWdFpXNTBjeWtzWWoxaktDa3NaajFqS0Nrc2NqMWlMblJ2VTNSeWFXNW5MSFE5Wmk1MGIxTjBjbWx1Wnp0eVpYUjFjbTRnZUNoaUxIdDBhR1Z1T21aMWJtTjBhVzl1S0NsN1lpNWhjSEJzZVNoaUxHd29ZWEpuZFcxbGJuUnpLU2s3Y21WMGRYSnVJSFJvYVhOOUxGd2laV3h6WlZ3aU9tWjFibU4wYVc5dUtDbDdaaTVoY0hCc2VTaG1MR3dvWVhKbmRXMWxiblJ6S1NrN2NtVjBkWEp1SUhSb2FYTjlMSFJ2VTNSeWFXNW5PbVoxYm1OMGFXOXVLQ2w3ZG1GeUlHSTlYRzUwS0NrN1lpWW1LR0k5WENKbGJITmxlMXdpSzJJclhDSjlYQ0lwTzNKbGRIVnliaUJyS0Z0Y0ltbG1LRndpTEdFc1hDSXBlMXdpTEhJb0tTeGNJbjFjSWl4aVhTbDlmU2w5TEdOdmJYQnBiR1U2Wm5WdVkzUnBiMjRvS1h0MllYSWdZVDFiSjF3aWRYTmxJSE4wY21samRGd2lPeWNzZFN4Y0luSmxkSFZ5YmlCN1hDSmRPMDlpYW1WamRDNXJaWGx6S0hRcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0b1lpbDdZUzV3ZFhOb0tDZGNJaWNzWWl3blhDSTZKeXgwVzJKZExuUnZVM1J5YVc1bktDa3NYQ0lzWENJcGZTazdZUzV3ZFhOb0tGd2lmVndpS1R0MllYSWdZejFyS0dFcExuSmxjR3hoWTJVb0x6c3ZaeXhjSWp0Y1hHNWNJaWt1Y21Wd2JHRmpaU2d2ZlM5bkxGd2lmVnhjYmx3aUtTNXlaWEJzWVdObEtDOTdMMmNzWENKN1hGeHVYQ0lwTzNKbGRIVnliaUJHZFc1amRHbHZiaTVoY0hCc2VTaHVkV3hzTEdJdVkyOXVZMkYwS0dNcEtTNWhjSEJzZVNodWRXeHNMSEFwZlgxOWZTeDdYQ0l1TDJWNGRHVnVaRndpT2pJeWZWMHNNakk2VzJaMWJtTjBhVzl1S0dZc2NDeDFLWHR3TG1WNGNHOXlkSE05Wm5WdVkzUnBiMjRvWml4cktYdG1iM0lvZG1GeUlIQTlUMkpxWldOMExtdGxlWE1vYXlrc2NqMHdPM0k4Y0M1c1pXNW5kR2c3S3l0eUtXWmJjRnR5WFYwOWExdHdXM0pkWFR0eVpYUjFjbTRnWm4xOUxIdDlYU3d5TXpwYlpuVnVZM1JwYjI0b1ppeHdMSFVwZTJaMWJtTjBhVzl1SUd3b1ppeGNibU1zWVN4aUxHc3NiQ2w3Wm05eUtIWmhjaUIwUFRBN2REeGpPeXNyZENsbWIzSW9kbUZ5SUhBOVpsdDBYU3huUFRBN1p6eGhPeXNyWnlsbWIzSW9kbUZ5SUhnOWNGdG5YU3gxUFRBN2RUeGlPeXNyZFNsclcyd3JLMTA5ZUZ0MVhYMW1kVzVqZEdsdmJpQnJLR1lzWXl4aExHSXNjQ2w3Wm05eUtIWmhjaUI0UFRFc2REMWhLekU3ZER4akxteGxibWQwYURzckszUXBlQ285WTF0MFhUdDJZWElnZVQxalcyRmRPMmxtS0RROVBUMWpMbXhsYm1kMGFDMWhLWHQyWVhJZ1p6MWpXMkVyTVYwc2RUMWpXMkVyTWwwN1l6MWpXMkVyTTEwN1ptOXlLSFE5TUR0MFBIazdLeXQwS1d3b1psdDBYU3huTEhVc1l5eGlMSEFwTEhBclBYaDlaV3h6WlNCbWIzSW9kRDB3TzNROGVUc3JLM1FwYXlobVczUmRMR01zWVNzeExHSXNjQ2tzY0NzOWVIMTJZWElnZUQxbUtGd2lMaTl3YjI5c1hDSXBPM0F1Wlhod2IzSjBjejE3YzJoaGNHVTZablZ1WTNScGIyNG9aaWw3Wm05eUtIWmhjaUJqUFZ0ZE8yWXViR1Z1WjNSb08yWTlabHN3WFNsakxuQjFjMmdvWmk1c1pXNW5kR2dwTzNKbGRIVnliaUJqZlN4bWJHRjBkR1Z1T21aMWJtTjBhVzl1S0dZc1l5eGhMR0lwZTNaaGNpQndQVEU3YVdZb1l5NXNaVzVuZEdncFptOXlLSFpoY2lCMVBUQTdkVHhqTG14bGJtZDBhRHNySzNVcGNDbzlZMXQxWFR0bGJITmxJSEE5TUR0aFBXSjhmRnh1ZUM1aGJHeHZZMVI1Y0dVb1lTeHdLVHR6ZDJsMFkyZ29ZeTVzWlc1bmRHZ3BlMk5oYzJVZ01EcGljbVZoYXp0allYTmxJREU2WWoxald6QmRPMlp2Y2loalBUQTdZenhpT3lzcll5bGhXMk5kUFdaYlkxMDdZbkpsWVdzN1kyRnpaU0F5T21JOVkxc3dYVHRqUFdOYk1WMDdabTl5S0hVOWNEMHdPM1U4WWpzckszVXBabTl5S0haaGNpQjBQV1piZFYwc2VUMHdPM2s4WXpzcksza3BZVnR3S3l0ZFBYUmJlVjA3WW5KbFlXczdZMkZ6WlNBek9td29aaXhqV3pCZExHTmJNVjBzWTFzeVhTeGhMREFwTzJKeVpXRnJPMlJsWm1GMWJIUTZheWhtTEdNc01DeGhMREFwZlhKbGRIVnliaUJoZlgxOUxIdGNJaTR2Y0c5dmJGd2lPakk0ZlYwc01qUTZXMloxYm1OMGFXOXVLR1lzY0N4MUtYdDJZWElnYkQxbUtGd2lMaTlwY3kxMGVYQmxaQzFoY25KaGVWd2lLVHR3TG1WNGNHOXlkSE05Wm5WdVkzUnBiMjRvWmlsN2NtVjBkWEp1SUVGeWNtRjVMbWx6UVhKeVlYa29aaWw4Zkd3b1ppbDlmU3g3WENJdUwybHpMWFI1Y0dWa0xXRnljbUY1WENJNk1qWjlYU3d5TlRwYlpuVnVZM1JwYjI0b1ppeHdMSFVwZTNaaGNpQnNQV1lvWENJdUwybHpMWFI1Y0dWa0xXRnljbUY1WENJcE8zQXVaWGh3YjNKMGN6MW1kVzVqZEdsdmJpaG1LWHR5WlhSMWNtNGhJV1ltSmx3aWIySnFaV04wWENJOVBUMTBlWEJsYjJZZ1ppWW1RWEp5WVhrdWFYTkJjbkpoZVNobUxuTm9ZWEJsS1NZbVhHNUJjbkpoZVM1cGMwRnljbUY1S0dZdWMzUnlhV1JsS1NZbVhDSnVkVzFpWlhKY0lqMDlQWFI1Y0dWdlppQm1MbTltWm5ObGRDWW1aaTV6YUdGd1pTNXNaVzVuZEdnOVBUMW1Mbk4wY21sa1pTNXNaVzVuZEdnbUppaEJjbkpoZVM1cGMwRnljbUY1S0dZdVpHRjBZU2w4Zkd3b1ppNWtZWFJoS1NsOWZTeDdYQ0l1TDJsekxYUjVjR1ZrTFdGeWNtRjVYQ0k2TWpaOVhTd3lOanBiWm5WdVkzUnBiMjRvWml4d0xIVXBlM1poY2lCc1BXWW9YQ0l1TGk5amIyNXpkR0Z1ZEhNdllYSnlZWGwwZVhCbGN5NXFjMjl1WENJcE8zQXVaWGh3YjNKMGN6MW1kVzVqZEdsdmJpaG1LWHR5WlhSMWNtNGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp5NWpZV3hzS0dZcGFXNGdiSDE5TEh0Y0lpNHVMMk52Ym5OMFlXNTBjeTloY25KaGVYUjVjR1Z6TG1wemIyNWNJam96ZlYwc01qYzZXMloxYm1OMGFXOXVLR1lzY0N4MUtYdHdMbVY0Y0c5eWRITTlablZ1WTNScGIyNG9aaXhyS1h0bWIzSW9kbUZ5SUhBOVFYSnlZWGtvWmlrc2NqMHdPM0k4WmpzckszSXBjRnR5WFQxcktISXBPM0psZEhWeWJpQndmWDBzZTMxZExESTRPbHRtZFc1amRHbHZiaWhtTEhBc2RTbDdablZ1WTNScGIyNGdiQ2hqS1h0MllYSWdZU3hpTzJFOUtEWTFOVE0xUEdNcFBEdzBPMk0rUGo0OVlUdGlQU2d5TlRVOFl5azhQRE03WXo0K1BqMWlPMkY4UFZ4dVlqdGlQU2d4TlR4aktUdzhNanRqUGo0K1BXSTdZWHc5WWp0aVBTZ3pQR01wUER3eE8zSmxkSFZ5YmlCaGZHSjhZejQrUG1JK1BqRjlablZ1WTNScGIyNGdheWhqS1h0aE9udG1iM0lvZG1GeUlHRTlNVFk3TWpZNE5ETTFORFUyUGoxaE8yRXFQVEUyS1dsbUtHTThQV0VwZTJNOVlUdGljbVZoYXlCaGZXTTlNSDFoUFhKYmJDaGpLVDQrTWwwN2NtVjBkWEp1SURBOFlTNXNaVzVuZEdnL1lTNXdiM0FvS1RwdVpYY2dRWEp5WVhsQ2RXWm1aWElvWXlsOVpuVnVZM1JwYjI0Z2VDaGpLWHR5VzJ3b1l5NWllWFJsVEdWdVozUm9LVDQrTWwwdWNIVnphQ2hqS1gxMllYSWdjajFtS0Z3aUxpOXNiMjl3WENJcEtEZ3NablZ1WTNScGIyNG9LWHR5WlhSMWNtNWJYWDBwTzNBdVpYaHdiM0owY3oxN1lXeHNiMk02YXl4bWNtVmxPbmdzWVd4c2IyTlVlWEJsT21aMWJtTjBhVzl1S0dNc1lTbDdkbUZ5SUdJOWJuVnNiRHR6ZDJsMFkyZ29ZeWw3WTJGelpTQTFNVEl3T21JOWJtVjNJRWx1ZERoQmNuSmhlU2hyS0dFcExEQXNZU2s3WW5KbFlXczdZMkZ6WlNBMU1USXhPbUk5Ym1WM0lGVnBiblE0UVhKeVlYa29heWhoS1N3d0xHRXBPMkp5WldGck8yTmhjMlVnTlRFeU1qcGlQVzVsZHlCSmJuUXhOa0Z5Y21GNUtHc29NaXBoS1N3d0xHRXBPMkp5WldGck8yTmhjMlVnTlRFeU16cGlQVzVsZHlCVmFXNTBNVFpCY25KaGVTaHJLRElxWEc1aEtTd3dMR0VwTzJKeVpXRnJPMk5oYzJVZ05URXlORHBpUFc1bGR5QkpiblF6TWtGeWNtRjVLR3NvTkNwaEtTd3dMR0VwTzJKeVpXRnJPMk5oYzJVZ05URXlOVHBpUFc1bGR5QlZhVzUwTXpKQmNuSmhlU2hyS0RRcVlTa3NNQ3hoS1R0aWNtVmhhenRqWVhObElEVXhNalk2WWoxdVpYY2dSbXh2WVhRek1rRnljbUY1S0dzb05DcGhLU3d3TEdFcE8ySnlaV0ZyTzJSbFptRjFiSFE2Y21WMGRYSnVJRzUxYkd4OWNtVjBkWEp1SUdJdWJHVnVaM1JvSVQwOVlUOWlMbk4xWW1GeWNtRjVLREFzWVNrNlluMHNabkpsWlZSNWNHVTZablZ1WTNScGIyNG9ZeWw3ZUNoakxtSjFabVpsY2lsOWZYMHNlMXdpTGk5c2IyOXdYQ0k2TWpkOVhTd3lPVHBiWm5WdVkzUnBiMjRvWml4d0xIVXBlM0F1Wlhod2IzSjBjejFjSW1aMWJtTjBhVzl1WENJOVBUMTBlWEJsYjJZZ2NtVnhkV1Z6ZEVGdWFXMWhkR2x2YmtaeVlXMWxKaVpjSW1aMWJtTjBhVzl1WENJOVBUMTBlWEJsYjJZZ1kyRnVZMlZzUVc1cGJXRjBhVzl1Um5KaGJXVS9lMjVsZUhRNlpuVnVZM1JwYjI0b1ppbDdjbVYwZFhKdUlISmxjWFZsYzNSQmJtbHRZWFJwYjI1R2NtRnRaU2htS1gwc1kyRnVZMlZzT21aMWJtTjBhVzl1S0dZcGUzSmxkSFZ5YmlCallXNWpaV3hCYm1sdFlYUnBiMjVHY21GdFpTaG1LWDE5T250dVpYaDBPbVoxYm1OMGFXOXVLR1lwZTNKbGRIVnliaUJ6WlhSVWFXMWxiM1YwS0dZc1hHNHhOaWw5TEdOaGJtTmxiRHBqYkdWaGNsUnBiV1Z2ZFhSOWZTeDdmVjBzTXpBNlcyWjFibU4wYVc5dUtHWXNjQ3gxS1h0MllYSWdiRDFtS0Z3aUxpOXdiMjlzWENJcExHczlibVYzSUVac2IyRjBNekpCY25KaGVTZ3hLU3g0UFc1bGR5QlZhVzUwTXpKQmNuSmhlU2hyTG1KMVptWmxjaWs3Y0M1bGVIQnZjblJ6UFdaMWJtTjBhVzl1S0dZcGUyWnZjaWgyWVhJZ1l6MXNMbUZzYkc5alZIbHdaU2cxTVRJekxHWXViR1Z1WjNSb0tTeGhQVEE3WVR4bUxteGxibWQwYURzcksyRXBhV1lvYVhOT1lVNG9abHRoWFNrcFkxdGhYVDAyTlRVek5UdGxiSE5sSUdsbUtFbHVabWx1YVhSNVBUMDlabHRoWFNsalcyRmRQVE14TnpRME8yVnNjMlVnYVdZb0xVbHVabWx1YVhSNVBUMDlabHRoWFNsalcyRmRQVFkwTlRFeU8yVnNjMlY3YTFzd1hUMW1XMkZkTzNaaGNpQmlQWGhiTUYwc2NEMWlQajQrTXpFOFBERTFMSFU5S0dJOFBERStQajR5TkNrdE1USTNMR0k5WWo0K01UTW1NVEF5TXp0alcyRmRQUzB5TkQ1MVAzQTZMVEUwUG5VL2NDc29ZaXN4TURJMFBqNHRNVFF0ZFNrNk1UVThkVDl3S3pNeE56UTBPbkFyS0hVck1UVThQREV3S1N0aWZYSmxkSFZ5YmlCamZYMHNlMXdpTGk5d2IyOXNYQ0k2TWpoOVhTd3pNVHBiWm5WdVkzUnBiMjRvWml4d0xIVXBlM0F1Wlhod2IzSjBjejFtZFc1amRHbHZiaWhtS1h0eVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb1ppa3ViV0Z3S0daMWJtTjBhVzl1S0dzcGUzSmxkSFZ5YmlCbVcydGRmU2w5ZlN4Y2JudDlYU3d6TWpwYlpuVnVZM1JwYjI0b1ppeHdMSFVwZTJaMWJtTjBhVzl1SUd3b1lTeGlMR1lwZTJaMWJtTjBhVzl1SUdzb0tYdDJZWElnWWoxM2FXNWtiM2N1YVc1dVpYSlhhV1IwYUN4blBYZHBibVJ2ZHk1cGJtNWxja2hsYVdkb2REdGhJVDA5Wkc5amRXMWxiblF1WW05a2VTWW1LR2M5WVM1blpYUkNiM1Z1WkdsdVowTnNhV1Z1ZEZKbFkzUW9LU3hpUFdjdWNtbG5hSFF0Wnk1c1pXWjBMR2M5Wnk1MGIzQXRaeTVpYjNSMGIyMHBPMnd1ZDJsa2RHZzlaaXBpTzJ3dWFHVnBaMmgwUFdZcVp6dGpLR3d1YzNSNWJHVXNlM2RwWkhSb09tSXJYQ0p3ZUZ3aUxHaGxhV2RvZERwbksxd2ljSGhjSW4wcGZYWmhjaUJzUFdSdlkzVnRaVzUwTG1OeVpXRjBaVVZzWlcxbGJuUW9YQ0pqWVc1MllYTmNJaWs3WXloc0xuTjBlV3hsTEh0aWIzSmtaWEk2TUN4dFlYSm5hVzQ2TUN4d1lXUmthVzVuT2pBc2RHOXdPakFzYkdWbWREb3dmU2s3WVM1aGNIQmxibVJEYUdsc1pDaHNLVHRoUFQwOVpHOWpkVzFsYm5RdVltOWtlU1ltS0d3dWMzUjViR1V1Y0c5emFYUnBiMjQ5WENKaFluTnZiSFYwWlZ3aUxHTW9ZUzV6ZEhsc1pTeDdiV0Z5WjJsdU9qQXNjR0ZrWkdsdVp6b3dmU2twTzNkcGJtUnZkeTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLRndpY21WemFYcGxYQ0lzYXl3aE1TazdheWdwTzNKbGRIVnlibnRqWVc1MllYTTZiQ3h2YmtSbGMzUnliM2s2Wm5WdVkzUnBiMjRvS1h0M2FXNWtiM2N1Y21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2loY0luSmxjMmw2WlZ3aUxGeHVheWs3WVM1eVpXMXZkbVZEYUdsc1pDaHNLWDE5ZldaMWJtTjBhVzl1SUdzb1lTeGlLWHRtZFc1amRHbHZiaUJqS0dZcGUzUnllWHR5WlhSMWNtNGdZUzVuWlhSRGIyNTBaWGgwS0dZc1lpbDlZMkYwWTJnb2F5bDdjbVYwZFhKdUlHNTFiR3g5ZlhKbGRIVnliaUJqS0Z3aWQyVmlaMnhjSWlsOGZHTW9YQ0psZUhCbGNtbHRaVzUwWVd3dGQyVmlaMnhjSWlsOGZHTW9YQ0ozWldKbmJDMWxlSEJsY21sdFpXNTBZV3hjSWlsOVpuVnVZM1JwYjI0Z2VDaGhLWHR5WlhSMWNtNWNJbk4wY21sdVoxd2lQVDA5ZEhsd1pXOW1JR0UvWVM1emNHeHBkQ2dwT21GOVpuVnVZM1JwYjI0Z2NpaGhLWHR5WlhSMWNtNWNJbk4wY21sdVoxd2lQVDA5ZEhsd1pXOW1JR0UvWkc5amRXMWxiblF1Y1hWbGNubFRaV3hsWTNSdmNpaGhLVHBoZlhaaGNpQmpQV1lvWENJdUwzVjBhV3d2WlhoMFpXNWtYQ0lwTzNBdVpYaHdiM0owY3oxbWRXNWpkR2x2YmloaEtYdDJZWElnWWoxaGZIeDdmU3hqTEdZc2NDeDFPMkU5ZTMwN2RtRnlJR2M5VzEwc1JUMWJYU3hEUFZ3aWRXNWtaV1pwYm1Wa1hDSTlQVDEwZVhCbGIyWWdkMmx1Wkc5M1B6RTZkMmx1Wkc5M0xtUmxkbWxqWlZCcGVHVnNVbUYwYVc4c1RqMGhNU3h1UFdaMWJtTjBhVzl1S0dFcGUzMHNiVDFtZFc1amRHbHZiaWdwZTMwN1hDSnpkSEpwYm1kY0lqMDlQWFI1Y0dWdlppQmlQMk05Wkc5amRXMWxiblF1Y1hWbGNubFRaV3hsWTNSdmNpaGlLVHBjYmx3aWIySnFaV04wWENJOVBUMTBlWEJsYjJZZ1lpWW1LRndpYzNSeWFXNW5YQ0k5UFQxMGVYQmxiMllnWWk1dWIyUmxUbUZ0WlNZbVhDSm1kVzVqZEdsdmJsd2lQVDA5ZEhsd1pXOW1JR0l1WVhCd1pXNWtRMmhwYkdRbUpsd2lablZ1WTNScGIyNWNJajA5UFhSNWNHVnZaaUJpTG1kbGRFSnZkVzVrYVc1blEyeHBaVzUwVW1WamREOWpQV0k2WENKbWRXNWpkR2x2Ymx3aVBUMDlkSGx3Wlc5bUlHSXVaSEpoZDBGeWNtRjVjM3g4WENKbWRXNWpkR2x2Ymx3aVBUMDlkSGx3Wlc5bUlHSXVaSEpoZDBWc1pXMWxiblJ6UHloMVBXSXNjRDExTG1OaGJuWmhjeWs2S0Z3aVoyeGNJbWx1SUdJL2RUMWlMbWRzT2x3aVkyRnVkbUZ6WENKcGJpQmlQM0E5Y2loaUxtTmhiblpoY3lrNlhDSmpiMjUwWVdsdVpYSmNJbWx1SUdJbUppaG1QWElvWWk1amIyNTBZV2x1WlhJcEtTeGNJbUYwZEhKcFluVjBaWE5jSW1sdUlHSW1KaWhoUFdJdVlYUjBjbWxpZFhSbGN5a3NYQ0psZUhSbGJuTnBiMjV6WENKcGJpQmlKaVlvWnoxNEtHSXVaWGgwWlc1emFXOXVjeWtwTEZ3aWIzQjBhVzl1WVd4RmVIUmxibk5wYjI1elhDSnBiaUJpSmlZb1JUMTRLR0l1YjNCMGFXOXVZV3hGZUhSbGJuTnBiMjV6S1Nrc1hDSnZia1J2Ym1WY0ltbHVJR0ltSmlodVBXSXViMjVFYjI1bEtTeGNJbkJ5YjJacGJHVmNJbWx1SUdJbUppaE9QU0VoWWk1d2NtOW1hV3hsS1N4Y0luQnBlR1ZzVW1GMGFXOWNJbWx1SUdJbUpseHVLRU05SzJJdWNHbDRaV3hTWVhScGJ5a3BLVHRqSmlZb1hDSmpZVzUyWVhOY0lqMDlQV011Ym05a1pVNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tUOXdQV002WmoxaktUdHBaaWdoZFNsN2FXWW9JWEFwZTJNOWJDaG1mSHhrYjJOMWJXVnVkQzVpYjJSNUxHNHNReWs3YVdZb0lXTXBjbVYwZFhKdUlHNTFiR3c3Y0QxakxtTmhiblpoY3p0dFBXTXViMjVFWlhOMGNtOTVmWFU5YXlod0xHRXBmWEpsZEhWeWJpQjFQM3RuYkRwMUxHTmhiblpoY3pwd0xHTnZiblJoYVc1bGNqcG1MR1Y0ZEdWdWMybHZibk02Wnl4dmNIUnBiMjVoYkVWNGRHVnVjMmx2Ym5NNlJTeHdhWGhsYkZKaGRHbHZPa01zY0hKdlptbHNaVHBPTEc5dVJHOXVaVHB1TEc5dVJHVnpkSEp2ZVRwdGZUb29iU2dwTEc0b1hDSjNaV0puYkNCdWIzUWdjM1Z3Y0c5eWRHVmtMQ0IwY25rZ2RYQm5jbUZrYVc1bklIbHZkWElnWW5KdmQzTmxjaUJ2Y2lCbmNtRndhR2xqY3lCa2NtbDJaWEp6SUdoMGRIQTZMeTluWlhRdWQyVmlaMnd1YjNKblhDSXBMRzUxYkd3cGZYMHNlMXdpTGk5MWRHbHNMMlY0ZEdWdVpGd2lPakl5ZlYwc016TTZXMloxYm1OMGFXOXVLR1lzY0N4MUtYdG1kVzVqZEdsdmJpQnNLR0VzWWlsN1ptOXlLSFpoY2lCalBUQTdZenhoTG14bGJtZDBhRHNySzJNcGFXWW9ZVnRqWFQwOVBXSXBjbVYwZFhKdUlHTTdjbVYwZFhKdUxURjlkbUZ5SUdzOVhHNW1LRndpTGk5c2FXSXZkWFJwYkM5bGVIUmxibVJjSWlrc2VEMW1LRndpTGk5c2FXSXZaSGx1WVcxcFkxd2lLU3h5UFdZb1hDSXVMMnhwWWk5MWRHbHNMM0poWmx3aUtTeGpQV1lvWENJdUwyeHBZaTkxZEdsc0wyTnNiMk5yWENJcExHRTlaaWhjSWk0dmJHbGlMM04wY21sdVozTmNJaWtzWWoxbUtGd2lMaTlzYVdJdmQyVmlaMnhjSWlrc1JqMW1LRndpTGk5c2FXSXZaWGgwWlc1emFXOXVYQ0lwTEUwOVppaGNJaTR2YkdsaUwyeHBiV2wwYzF3aUtTeDBQV1lvWENJdUwyeHBZaTlpZFdabVpYSmNJaWtzZVQxbUtGd2lMaTlzYVdJdlpXeGxiV1Z1ZEhOY0lpa3NaejFtS0Z3aUxpOXNhV0l2ZEdWNGRIVnlaVndpS1N4RlBXWW9YQ0l1TDJ4cFlpOXlaVzVrWlhKaWRXWm1aWEpjSWlrc1F6MW1LRndpTGk5c2FXSXZabkpoYldWaWRXWm1aWEpjSWlrc1RqMW1LRndpTGk5c2FXSXZZWFIwY21saWRYUmxYQ0lwTEc0OVppaGNJaTR2YkdsaUwzTm9ZV1JsY2x3aUtTeHRQV1lvWENJdUwyeHBZaTl5WldGa1hDSXBMRUk5WmloY0lpNHZiR2xpTDJOdmNtVmNJaWtzV1QxbUtGd2lMaTlzYVdJdmMzUmhkSE5jSWlrc1REMW1LRndpTGk5c2FXSXZkR2x0WlhKY0lpazdjQzVsZUhCdmNuUnpQV1oxYm1OMGFXOXVLR1lwZTJaMWJtTjBhVzl1SUdnb0tYdHBaaWd3UFQwOVVTNXNaVzVuZEdncFJ5WW1SeTUxY0dSaGRHVW9LU3hVUFc1MWJHdzdaV3h6Wlh0VVBYSXVibVY0ZENob0tUdExLQ2s3Wm05eUtIWmhjaUJoUFZ4dVVTNXNaVzVuZEdndE1Uc3dQRDFoT3kwdFlTbDdkbUZ5SUdJOVVWdGhYVHRpSmlaaUtGVXNiblZzYkN3d0tYMXhMbVpzZFhOb0tDazdSeVltUnk1MWNHUmhkR1VvS1gxOVpuVnVZM1JwYjI0Z2NDZ3BleUZVSmlZd1BGRXViR1Z1WjNSb0ppWW9WRDF5TG01bGVIUW9hQ2twZldaMWJtTjBhVzl1SUhVb0tYdFVKaVlvY2k1allXNWpaV3dvYUNrc1ZEMXVkV3hzS1gxbWRXNWpkR2x2YmlCTVlTaGhLWHRoTG5CeVpYWmxiblJFWldaaGRXeDBLQ2s3ZFNncE8zQmhMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9ZU2w3WVNncGZTbDlablZ1WTNScGIyNGdlbUVvWVNsN2NTNW5aWFJGY25KdmNpZ3BPMjFoTG5KbGMzUnZjbVVvS1R0ellTNXlaWE4wYjNKbEtDazdhMkV1Y21WemRHOXlaU2dwTzJSaExuSmxjM1J2Y21Vb0tUdHFZUzV5WlhOMGIzSmxLQ2s3YkdFdWNtVnpkRzl5WlNncE8wY21Ka2N1Y21WemRHOXlaU2dwTzJWaExuQnliMk56TG5KbFpuSmxjMmdvS1R0d0tDazdWaTVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR0VwZTJFb0tYMHBmV1oxYm1OMGFXOXVJRWRoS0dFcGUyWjFibU4wYVc5dUlHSW9ZU2w3ZG1GeUlHTTllMzBzWmoxN2ZUdFBZbXBsWTNRdWEyVjVjeWhoS1M1bWIzSkZZV05vS0daMWJtTjBhVzl1S0dJcGUzWmhjaUJuUFdGYllsMDdlQzVwYzBSNWJtRnRhV01vWnlrL1psdGlYVDE0TG5WdVltOTRLR2NzWEc1aUtUcGpXMkpkUFdkOUtUdHlaWFIxY201N1pIbHVZVzFwWXpwbUxGd2ljM1JoZEdsalhDSTZZMzE5Wm5WdVkzUnBiMjRnWXloaEtYdG1iM0lvTzNFdWJHVnVaM1JvUEdFN0tYRXVjSFZ6YUNodWRXeHNLVHR5WlhSMWNtNGdjWDEyWVhJZ1pqMWlLR0V1WTI5dWRHVjRkSHg4ZTMwcExHYzlZaWhoTG5WdWFXWnZjbTF6Zkh4N2ZTa3NhRDFpS0dFdVlYUjBjbWxpZFhSbGMzeDhlMzBwTEd3OVlpaG1kVzVqZEdsdmJpaGhLWHRtZFc1amRHbHZiaUJpS0dFcGUybG1LR0VnYVc0Z1l5bDdkbUZ5SUdZOVkxdGhYVHRrWld4bGRHVWdZMXRoWFR0UFltcGxZM1F1YTJWNWN5aG1LUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVLR0lwZTJOYllTdGNJaTVjSWl0aVhUMW1XMkpkZlNsOWZYWmhjaUJqUFdzb2UzMHNZU2s3WkdWc1pYUmxJR011ZFc1cFptOXliWE03WkdWc1pYUmxJR011WVhSMGNtbGlkWFJsY3p0a1pXeGxkR1VnWXk1amIyNTBaWGgwTzF3aWMzUmxibU5wYkZ3aWFXNGdZeVltWXk1emRHVnVZMmxzTG05d0ppWW9ZeTV6ZEdWdVkybHNMbTl3UW1GamF6MWpMbk4wWlc1amFXd3ViM0JHY205dWREMWpMbk4wWlc1amFXd3ViM0FzWkdWc1pYUmxJR011YzNSbGJtTnBiQzV2Y0NrN1lpaGNJbUpzWlc1a1hDSXBPMklvWENKa1pYQjBhRndpS1R0aUtGd2lZM1ZzYkZ3aUtUdGlLRndpYzNSbGJtTnBiRndpS1R0aUtGd2ljRzlzZVdkdmJrOW1abk5sZEZ3aUtUdGNibUlvWENKelkybHpjMjl5WENJcE8ySW9YQ0p6WVcxd2JHVmNJaWs3Y21WMGRYSnVJR045S0dFcEtUdGhQWHRuY0hWVWFXMWxPakFzWTNCMVZHbHRaVG93TEdOdmRXNTBPakI5TzNaaGNpQm1QV1ZoTG1OdmJYQnBiR1VvYkN4b0xHY3NaaXhoS1N4dFBXWXVaSEpoZHl4dVBXWXVZbUYwWTJnc2NEMW1Mbk5qYjNCbExIRTlXMTA3Y21WMGRYSnVJR3NvWm5WdVkzUnBiMjRvWVN4aUtYdDJZWElnWmp0cFppaGNJbVoxYm1OMGFXOXVYQ0k5UFQxMGVYQmxiMllnWVNseVpYUjFjbTRnY0M1allXeHNLSFJvYVhNc2JuVnNiQ3hoTERBcE8ybG1LRndpWm5WdVkzUnBiMjVjSWowOVBYUjVjR1Z2WmlCaUtXbG1LRndpYm5WdFltVnlYQ0k5UFQxMGVYQmxiMllnWVNsbWIzSW9aajB3TzJZOFlUc3JLMllwY0M1allXeHNLSFJvYVhNc2JuVnNiQ3hpTEdZcE8yVnNjMlVnYVdZb1FYSnlZWGt1YVhOQmNuSmhlU2hoS1NsbWIzSW9aajB3TzJZOFlTNXNaVzVuZEdnN0t5dG1LWEF1WTJGc2JDaDBhR2x6TEdGYlpsMHNZaXhtS1R0bGJITmxJSEpsZEhWeWJpQndMbU5oYkd3b2RHaHBjeXhoTEdJc01DazdaV3h6WlNCcFppaGNJbTUxYldKbGNsd2lQVDA5ZEhsd1pXOW1JR0VwZTJsbUtEQThZU2x5WlhSMWNtNGdiaTVqWVd4c0tIUm9hWE1zWXloaGZEQXBMR0Y4TUNsOVpXeHpaU0JwWmloQmNuSmhlUzVwYzBGeWNtRjVLR0VwS1h0cFppaGhMbXhsYm1kMGFDbHlaWFIxY200Z2JpNWpZV3hzS0hSb2FYTXNYRzVoTEdFdWJHVnVaM1JvS1gxbGJITmxJSEpsZEhWeWJpQnRMbU5oYkd3b2RHaHBjeXhoS1gwc2UzTjBZWFJ6T21GOUtYMW1kVzVqZEdsdmJpQmFLR0VwZTFFdWNIVnphQ2hoS1R0d0tDazdjbVYwZFhKdWUyTmhibU5sYkRwbWRXNWpkR2x2YmlncGUyWjFibU4wYVc5dUlHSW9LWHQyWVhJZ1lUMXNLRkVzWWlrN1VWdGhYVDFSVzFFdWJHVnVaM1JvTFRGZE95MHRVUzVzWlc1bmRHZzdNRDQ5VVM1c1pXNW5kR2dtSm5Vb0tYMTJZWElnWXoxc0tGRXNZU2s3VVZ0alhUMWlmWDE5Wm5WdVkzUnBiMjRnUkNncGUzWmhjaUJoUFU4dWRtbGxkM0J2Y25Rc1lqMVBMbk5qYVhOemIzSmZZbTk0TzJGYk1GMDlZVnN4WFQxaVd6QmRQV0piTVYwOU1EdFZMblpwWlhkd2IzSjBWMmxrZEdnOVZTNW1jbUZ0WldKMVptWmxjbGRwWkhSb1BWVXVaSEpoZDJsdVowSjFabVpsY2xkcFpIUm9QV0ZiTWwwOVlsc3lYVDF4TG1SeVlYZHBibWRDZFdabVpYSlhhV1IwYUR0VkxuWnBaWGR3YjNKMFNHVnBaMmgwUFZVdVpuSmhiV1ZpZFdabVpYSklaV2xuYUhROVZTNWtjbUYzYVc1blFuVm1abVZ5U0dWcFoyaDBQV0ZiTTEwOVlsc3pYVDF4TG1SeVlYZHBibWRDZFdabVpYSklaV2xuYUhSOVpuVnVZM1JwYjI0Z1N5Z3BlMVV1ZEdsamF5czlNVHRWTG5ScGJXVTlkbUVvS1R0RUtDazdaV0V1Y0hKdlkzTXVjRzlzYkNncGZXWjFibU4wYVc5dUlFRmhLQ2w3UkNncE8xeHVaV0V1Y0hKdlkzTXVjbVZtY21WemFDZ3BPMGNtSmtjdWRYQmtZWFJsS0NsOVpuVnVZM1JwYjI0Z2RtRW9LWHR5WlhSMWNtNG9ZeWdwTFdKaEtTOHhSVE45WmoxaUtHWXBPMmxtS0NGbUtYSmxkSFZ5YmlCdWRXeHNPM1poY2lCeFBXWXVaMndzVXoxeExtZGxkRU52Ym5SbGVIUkJkSFJ5YVdKMWRHVnpLQ2s3Y1M1cGMwTnZiblJsZUhSTWIzTjBLQ2s3ZG1GeUlHMWhQVVlvY1N4bUtUdHBaaWdoYldFcGNtVjBkWEp1SUc1MWJHdzdkbUZ5SUdkaFBXRW9LU3hYUFZrb0tTeFNQVzFoTG1WNGRHVnVjMmx2Ym5Nc1J6MU1LSEVzVWlrc1ltRTlZeWdwTEc1aFBYRXVaSEpoZDJsdVowSjFabVpsY2xkcFpIUm9MSGxoUFhFdVpISmhkMmx1WjBKMVptWmxja2hsYVdkb2RDeFZQWHQwYVdOck9qQXNkR2x0WlRvd0xIWnBaWGR3YjNKMFYybGtkR2c2Ym1Fc2RtbGxkM0J2Y25SSVpXbG5hSFE2ZVdFc1puSmhiV1ZpZFdabVpYSlhhV1IwYURwdVlTeG1jbUZ0WldKMVptWmxja2hsYVdkb2REcDVZU3hrY21GM2FXNW5RblZtWm1WeVYybGtkR2c2Ym1Fc1pISmhkMmx1WjBKMVptWmxja2hsYVdkb2REcDVZU3h3YVhobGJGSmhkR2x2T21ZdWNHbDRaV3hTWVhScGIzMHNhV0U5VFNoeExGSXBMR3RoUFhRb2NTeFhMR1lwTEhKaFBYa29jU3hTTEd0aExGY3BMRzVoUFU0b2NTeFNMR2xoTEd0aExHZGhLU3h6WVQxdUtIRXNYRzVuWVN4WExHWXBMR1JoUFdjb2NTeFNMR2xoTEdaMWJtTjBhVzl1S0NsN1pXRXVjSEp2WTNNdWNHOXNiQ2dwZlN4VkxGY3NaaWtzYW1FOVJTaHhMRklzYVdFc1Z5eG1LU3hzWVQxREtIRXNVaXhwWVN4a1lTeHFZU3hYS1N4bFlUMUNLSEVzWjJFc1VpeHBZU3hyWVN4eVlTeGtZU3hzWVN4N2ZTeHVZU3h6WVN4N1pXeGxiV1Z1ZEhNNmJuVnNiQ3h3Y21sdGFYUnBkbVU2TkN4amIzVnVkRG90TVN4dlptWnpaWFE2TUN4cGJuTjBZVzVqWlhNNkxURjlMRlVzUnl4bUtTeG5ZVDF0S0hFc2JHRXNaV0V1Y0hKdlkzTXVjRzlzYkN4VkxGTXNVaWtzVHoxbFlTNXVaWGgwTEdoaFBYRXVZMkZ1ZG1GekxGRTlXMTBzY0dFOVcxMHNWajFiWFN4WVBWdG1MbTl1UkdWemRISnZlVjBzVkQxdWRXeHNPMmhoSmlZb2FHRXVZV1JrUlhabGJuUk1hWE4wWlc1bGNpaGNJbmRsWW1kc1kyOXVkR1Y0ZEd4dmMzUmNJaXhNWVN3aE1Ta3NhR0V1WVdSa1JYWmxiblJNYVhOMFpXNWxjaWhjSW5kbFltZHNZMjl1ZEdWNGRISmxjM1J2Y21Wa1hDSXNlbUVzSVRFcEtUdEJZU2dwTzFNOWF5aEhZU3g3WTJ4bFlYSTZablZ1WTNScGIyNG9ZU2w3ZG1GeUlHSTlNRHRsWVM1d2NtOWpjeTV3YjJ4c0tDazdkbUZ5SUdNOVlTNWpiMnh2Y2p0akppWW9jUzVqYkdWaGNrTnZiRzl5S0N0ald6QmRmSHd3TEN0ald6RmRmSHd3TEN0ald6SmRmSHd3TEZ4dUsyTmJNMTE4ZkRBcExHSjhQVEUyTXpnMEtUdGNJbVJsY0hSb1hDSnBiaUJoSmlZb2NTNWpiR1ZoY2tSbGNIUm9LQ3RoTG1SbGNIUm9LU3hpZkQweU5UWXBPMXdpYzNSbGJtTnBiRndpYVc0Z1lTWW1LSEV1WTJ4bFlYSlRkR1Z1WTJsc0tHRXVjM1JsYm1OcGJId3dLU3hpZkQweE1ESTBLVHR4TG1Oc1pXRnlLR0lwZlN4d2NtOXdPbmd1WkdWbWFXNWxMbUpwYm1Rb2JuVnNiQ3d4S1N4amIyNTBaWGgwT25ndVpHVm1hVzVsTG1KcGJtUW9iblZzYkN3eUtTeGNJblJvYVhOY0lqcDRMbVJsWm1sdVpTNWlhVzVrS0c1MWJHd3NNeWtzWkhKaGR6cEhZU2g3ZlNrc1luVm1abVZ5T21aMWJtTjBhVzl1S0dFcGUzSmxkSFZ5YmlCcllTNWpjbVZoZEdVb1lTd3pORGsyTWl3aE1Td2hNU2w5TEdWc1pXMWxiblJ6T21aMWJtTjBhVzl1S0dFcGUzSmxkSFZ5YmlCeVlTNWpjbVZoZEdVb1lTd2hNU2w5TEhSbGVIUjFjbVU2WkdFdVkzSmxZWFJsTWtRc1kzVmlaVHBrWVM1amNtVmhkR1ZEZFdKbExISmxibVJsY21KMVptWmxjanBxWVM1amNtVmhkR1VzWm5KaGJXVmlkV1ptWlhJNmJHRXVZM0psWVhSbExHWnlZVzFsWW5WbVptVnlRM1ZpWlRwc1lTNWpjbVZoZEdWRGRXSmxMR0YwZEhKcFluVjBaWE02VXl4bWNtRnRaVHBhTEc5dU9tWjFibU4wYVc5dUtHRXNZaWw3ZG1GeUlHTTdjM2RwZEdOb0tHRXBlMk5oYzJVZ1hDSm1jbUZ0WlZ3aU9uSmxkSFZ5YmlCYUtHSXBPMXh1WTJGelpTQmNJbXh2YzNSY0lqcGpQWEJoTzJKeVpXRnJPMk5oYzJVZ1hDSnlaWE4wYjNKbFhDSTZZejFXTzJKeVpXRnJPMk5oYzJVZ1hDSmtaWE4wY205NVhDSTZZejFZZldNdWNIVnphQ2hpS1R0eVpYUjFjbTU3WTJGdVkyVnNPbVoxYm1OMGFXOXVLQ2w3Wm05eUtIWmhjaUJoUFRBN1lUeGpMbXhsYm1kMGFEc3JLMkVwYVdZb1kxdGhYVDA5UFdJcGUyTmJZVjA5WTF0akxteGxibWQwYUMweFhUdGpMbkJ2Y0NncE8ySnlaV0ZyZlgxOWZTeHNhVzFwZEhNNmFXRXNhR0Z6UlhoMFpXNXphVzl1T21aMWJtTjBhVzl1S0dFcGUzSmxkSFZ5YmlBd1BEMXBZUzVsZUhSbGJuTnBiMjV6TG1sdVpHVjRUMllvWVM1MGIweHZkMlZ5UTJGelpTZ3BLWDBzY21WaFpEcG5ZU3hrWlhOMGNtOTVPbVoxYm1OMGFXOXVLQ2w3VVM1c1pXNW5kR2c5TUR0MUtDazdhR0VtSmlob1lTNXlaVzF2ZG1WRmRtVnVkRXhwYzNSbGJtVnlLRndpZDJWaVoyeGpiMjUwWlhoMGJHOXpkRndpTEV4aEtTeG9ZUzV5WlcxdmRtVkZkbVZ1ZEV4cGMzUmxibVZ5S0Z3aWQyVmlaMnhqYjI1MFpYaDBjbVZ6ZEc5eVpXUmNJaXg2WVNrcE8zTmhMbU5zWldGeUtDazdiR0V1WTJ4bFlYSW9LVHRxWVM1amJHVmhjaWdwTzJSaExtTnNaV0Z5S0NrN2NtRXVZMnhsWVhJb0tUdHJZUzVqYkdWaGNpZ3BPMGNtSmtjdVkyeGxZWElvS1R0WUxtWnZja1ZoWTJnb1puVnVZM1JwYjI0b1lTbDdZU2dwZlNsOUxGeHVYMmRzT25Fc1gzSmxabkpsYzJnNlFXRXNjRzlzYkRwbWRXNWpkR2x2YmlncGUwc29LVHRISmlaSExuVndaR0YwWlNncGZTeHViM2M2ZG1Fc2MzUmhkSE02VjMwcE8yWXViMjVFYjI1bEtHNTFiR3dzVXlrN2NtVjBkWEp1SUZOOWZTeDdYQ0l1TDJ4cFlpOWhkSFJ5YVdKMWRHVmNJam94TEZ3aUxpOXNhV0l2WW5WbVptVnlYQ0k2TWl4Y0lpNHZiR2xpTDJOdmNtVmNJam8zTEZ3aUxpOXNhV0l2WkhsdVlXMXBZMXdpT2pnc1hDSXVMMnhwWWk5bGJHVnRaVzUwYzF3aU9qa3NYQ0l1TDJ4cFlpOWxlSFJsYm5OcGIyNWNJam94TUN4Y0lpNHZiR2xpTDJaeVlXMWxZblZtWm1WeVhDSTZNVEVzWENJdUwyeHBZaTlzYVcxcGRITmNJam94TWl4Y0lpNHZiR2xpTDNKbFlXUmNJam94TXl4Y0lpNHZiR2xpTDNKbGJtUmxjbUoxWm1abGNsd2lPakUwTEZ3aUxpOXNhV0l2YzJoaFpHVnlYQ0k2TVRVc1hDSXVMMnhwWWk5emRHRjBjMXdpT2pFMkxGd2lMaTlzYVdJdmMzUnlhVzVuYzF3aU9qRTNMRndpTGk5c2FXSXZkR1Y0ZEhWeVpWd2lPakU0TEZ3aUxpOXNhV0l2ZEdsdFpYSmNJam94T1N4Y0lpNHZiR2xpTDNWMGFXd3ZZMnh2WTJ0Y0lqb3lNQ3hjSWk0dmJHbGlMM1YwYVd3dlpYaDBaVzVrWENJNk1qSXNYQ0l1TDJ4cFlpOTFkR2xzTDNKaFpsd2lPakk1TEZ3aUxpOXNhV0l2ZDJWaVoyeGNJam96TW4xZGZTeDdmU3hiTXpOZEtTZ3pNeWw5S1R0Y2JpSmRmUT09Il19
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
module.exports = adjoint;
/**
* Calculates the adjugate of a mat4
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function adjoint(out, a) {
var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],
a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],
a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],
a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
out[0] = (a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22));
out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22));
out[2] = (a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12));
out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12));
out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22));
out[5] = (a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22));
out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12));
out[7] = (a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12));
out[8] = (a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21));
out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21));
out[10] = (a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11));
out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11));
out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21));
out[13] = (a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21));
out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11));
out[15] = (a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11));
return out;
};
},{}],2:[function(require,module,exports){
module.exports = clone;
/**
* Creates a new mat4 initialized with values from an existing matrix
*
* @param {mat4} a matrix to clone
* @returns {mat4} a new 4x4 matrix
*/
function clone(a) {
var out = new Float32Array(16);
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[8] = a[8];
out[9] = a[9];
out[10] = a[10];
out[11] = a[11];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
return out;
};
},{}],3:[function(require,module,exports){
module.exports = copy;
/**
* Copy the values from one mat4 to another
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[8] = a[8];
out[9] = a[9];
out[10] = a[10];
out[11] = a[11];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
return out;
};
},{}],4:[function(require,module,exports){
module.exports = create;
/**
* Creates a new identity mat4
*
* @returns {mat4} a new 4x4 matrix
*/
function create() {
var out = new Float32Array(16);
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = 1;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 1;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
};
},{}],5:[function(require,module,exports){
module.exports = determinant;
/**
* Calculates the determinant of a mat4
*
* @param {mat4} a the source matrix
* @returns {Number} determinant of a
*/
function determinant(a) {
var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],
a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],
a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],
a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15],
b00 = a00 * a11 - a01 * a10,
b01 = a00 * a12 - a02 * a10,
b02 = a00 * a13 - a03 * a10,
b03 = a01 * a12 - a02 * a11,
b04 = a01 * a13 - a03 * a11,
b05 = a02 * a13 - a03 * a12,
b06 = a20 * a31 - a21 * a30,
b07 = a20 * a32 - a22 * a30,
b08 = a20 * a33 - a23 * a30,
b09 = a21 * a32 - a22 * a31,
b10 = a21 * a33 - a23 * a31,
b11 = a22 * a33 - a23 * a32;
// Calculate the determinant
return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
};
},{}],6:[function(require,module,exports){
module.exports = fromQuat;
/**
* Creates a matrix from a quaternion rotation.
*
* @param {mat4} out mat4 receiving operation result
* @param {quat4} q Rotation quaternion
* @returns {mat4} out
*/
function fromQuat(out, q) {
var x = q[0], y = q[1], z = q[2], w = q[3],
x2 = x + x,
y2 = y + y,
z2 = z + z,
xx = x * x2,
yx = y * x2,
yy = y * y2,
zx = z * x2,
zy = z * y2,
zz = z * z2,
wx = w * x2,
wy = w * y2,
wz = w * z2;
out[0] = 1 - yy - zz;
out[1] = yx + wz;
out[2] = zx - wy;
out[3] = 0;
out[4] = yx - wz;
out[5] = 1 - xx - zz;
out[6] = zy + wx;
out[7] = 0;
out[8] = zx + wy;
out[9] = zy - wx;
out[10] = 1 - xx - yy;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
};
},{}],7:[function(require,module,exports){
module.exports = fromRotationTranslation;
/**
* Creates a matrix from a quaternion rotation and vector translation
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.translate(dest, vec);
* var quatMat = mat4.create();
* quat4.toMat4(quat, quatMat);
* mat4.multiply(dest, quatMat);
*
* @param {mat4} out mat4 receiving operation result
* @param {quat4} q Rotation quaternion
* @param {vec3} v Translation vector
* @returns {mat4} out
*/
function fromRotationTranslation(out, q, v) {
// Quaternion math
var x = q[0], y = q[1], z = q[2], w = q[3],
x2 = x + x,
y2 = y + y,
z2 = z + z,
xx = x * x2,
xy = x * y2,
xz = x * z2,
yy = y * y2,
yz = y * z2,
zz = z * z2,
wx = w * x2,
wy = w * y2,
wz = w * z2;
out[0] = 1 - (yy + zz);
out[1] = xy + wz;
out[2] = xz - wy;
out[3] = 0;
out[4] = xy - wz;
out[5] = 1 - (xx + zz);
out[6] = yz + wx;
out[7] = 0;
out[8] = xz + wy;
out[9] = yz - wx;
out[10] = 1 - (xx + yy);
out[11] = 0;
out[12] = v[0];
out[13] = v[1];
out[14] = v[2];
out[15] = 1;
return out;
};
},{}],8:[function(require,module,exports){
module.exports = frustum;
/**
* Generates a frustum matrix with the given bounds
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {Number} left Left bound of the frustum
* @param {Number} right Right bound of the frustum
* @param {Number} bottom Bottom bound of the frustum
* @param {Number} top Top bound of the frustum
* @param {Number} near Near bound of the frustum
* @param {Number} far Far bound of the frustum
* @returns {mat4} out
*/
function frustum(out, left, right, bottom, top, near, far) {
var rl = 1 / (right - left),
tb = 1 / (top - bottom),
nf = 1 / (near - far);
out[0] = (near * 2) * rl;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = (near * 2) * tb;
out[6] = 0;
out[7] = 0;
out[8] = (right + left) * rl;
out[9] = (top + bottom) * tb;
out[10] = (far + near) * nf;
out[11] = -1;
out[12] = 0;
out[13] = 0;
out[14] = (far * near * 2) * nf;
out[15] = 0;
return out;
};
},{}],9:[function(require,module,exports){
module.exports = identity;
/**
* Set a mat4 to the identity matrix
*
* @param {mat4} out the receiving matrix
* @returns {mat4} out
*/
function identity(out) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = 1;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 1;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
};
},{}],10:[function(require,module,exports){
module.exports = {
create: require('./create')
, clone: require('./clone')
, copy: require('./copy')
, identity: require('./identity')
, transpose: require('./transpose')
, invert: require('./invert')
, adjoint: require('./adjoint')
, determinant: require('./determinant')
, multiply: require('./multiply')
, translate: require('./translate')
, scale: require('./scale')
, rotate: require('./rotate')
, rotateX: require('./rotateX')
, rotateY: require('./rotateY')
, rotateZ: require('./rotateZ')
, fromRotationTranslation: require('./fromRotationTranslation')
, fromQuat: require('./fromQuat')
, frustum: require('./frustum')
, perspective: require('./perspective')
, perspectiveFromFieldOfView: require('./perspectiveFromFieldOfView')
, ortho: require('./ortho')
, lookAt: require('./lookAt')
, str: require('./str')
}
},{"./adjoint":1,"./clone":2,"./copy":3,"./create":4,"./determinant":5,"./fromQuat":6,"./fromRotationTranslation":7,"./frustum":8,"./identity":9,"./invert":11,"./lookAt":12,"./multiply":13,"./ortho":14,"./perspective":15,"./perspectiveFromFieldOfView":16,"./rotate":17,"./rotateX":18,"./rotateY":19,"./rotateZ":20,"./scale":21,"./str":22,"./translate":23,"./transpose":24}],11:[function(require,module,exports){
module.exports = invert;
/**
* Inverts a mat4
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function invert(out, a) {
var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],
a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],
a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],
a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15],
b00 = a00 * a11 - a01 * a10,
b01 = a00 * a12 - a02 * a10,
b02 = a00 * a13 - a03 * a10,
b03 = a01 * a12 - a02 * a11,
b04 = a01 * a13 - a03 * a11,
b05 = a02 * a13 - a03 * a12,
b06 = a20 * a31 - a21 * a30,
b07 = a20 * a32 - a22 * a30,
b08 = a20 * a33 - a23 * a30,
b09 = a21 * a32 - a22 * a31,
b10 = a21 * a33 - a23 * a31,
b11 = a22 * a33 - a23 * a32,
// Calculate the determinant
det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
if (!det) {
return null;
}
det = 1.0 / det;
out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;
out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;
out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;
out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;
out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;
out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;
out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;
out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;
out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;
out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;
out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;
out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;
out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;
out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;
out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;
out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;
return out;
};
},{}],12:[function(require,module,exports){
var identity = require('./identity');
module.exports = lookAt;
/**
* Generates a look-at matrix with the given eye position, focal point, and up axis
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {vec3} eye Position of the viewer
* @param {vec3} center Point the viewer is looking at
* @param {vec3} up vec3 pointing up
* @returns {mat4} out
*/
function lookAt(out, eye, center, up) {
var x0, x1, x2, y0, y1, y2, z0, z1, z2, len,
eyex = eye[0],
eyey = eye[1],
eyez = eye[2],
upx = up[0],
upy = up[1],
upz = up[2],
centerx = center[0],
centery = center[1],
centerz = center[2];
if (Math.abs(eyex - centerx) < 0.000001 &&
Math.abs(eyey - centery) < 0.000001 &&
Math.abs(eyez - centerz) < 0.000001) {
return identity(out);
}
z0 = eyex - centerx;
z1 = eyey - centery;
z2 = eyez - centerz;
len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);
z0 *= len;
z1 *= len;
z2 *= len;
x0 = upy * z2 - upz * z1;
x1 = upz * z0 - upx * z2;
x2 = upx * z1 - upy * z0;
len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);
if (!len) {
x0 = 0;
x1 = 0;
x2 = 0;
} else {
len = 1 / len;
x0 *= len;
x1 *= len;
x2 *= len;
}
y0 = z1 * x2 - z2 * x1;
y1 = z2 * x0 - z0 * x2;
y2 = z0 * x1 - z1 * x0;
len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);
if (!len) {
y0 = 0;
y1 = 0;
y2 = 0;
} else {
len = 1 / len;
y0 *= len;
y1 *= len;
y2 *= len;
}
out[0] = x0;
out[1] = y0;
out[2] = z0;
out[3] = 0;
out[4] = x1;
out[5] = y1;
out[6] = z1;
out[7] = 0;
out[8] = x2;
out[9] = y2;
out[10] = z2;
out[11] = 0;
out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);
out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);
out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);
out[15] = 1;
return out;
};
},{"./identity":9}],13:[function(require,module,exports){
module.exports = multiply;
/**
* Multiplies two mat4's
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the first operand
* @param {mat4} b the second operand
* @returns {mat4} out
*/
function multiply(out, a, b) {
var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],
a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],
a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],
a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
// Cache only the current line of the second matrix
var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
out[0] = b0*a00 + b1*a10 + b2*a20 + b3*a30;
out[1] = b0*a01 + b1*a11 + b2*a21 + b3*a31;
out[2] = b0*a02 + b1*a12 + b2*a22 + b3*a32;
out[3] = b0*a03 + b1*a13 + b2*a23 + b3*a33;
b0 = b[4]; b1 = b[5]; b2 = b[6]; b3 = b[7];
out[4] = b0*a00 + b1*a10 + b2*a20 + b3*a30;
out[5] = b0*a01 + b1*a11 + b2*a21 + b3*a31;
out[6] = b0*a02 + b1*a12 + b2*a22 + b3*a32;
out[7] = b0*a03 + b1*a13 + b2*a23 + b3*a33;
b0 = b[8]; b1 = b[9]; b2 = b[10]; b3 = b[11];
out[8] = b0*a00 + b1*a10 + b2*a20 + b3*a30;
out[9] = b0*a01 + b1*a11 + b2*a21 + b3*a31;
out[10] = b0*a02 + b1*a12 + b2*a22 + b3*a32;
out[11] = b0*a03 + b1*a13 + b2*a23 + b3*a33;
b0 = b[12]; b1 = b[13]; b2 = b[14]; b3 = b[15];
out[12] = b0*a00 + b1*a10 + b2*a20 + b3*a30;
out[13] = b0*a01 + b1*a11 + b2*a21 + b3*a31;
out[14] = b0*a02 + b1*a12 + b2*a22 + b3*a32;
out[15] = b0*a03 + b1*a13 + b2*a23 + b3*a33;
return out;
};
},{}],14:[function(require,module,exports){
module.exports = ortho;
/**
* Generates a orthogonal projection matrix with the given bounds
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {number} left Left bound of the frustum
* @param {number} right Right bound of the frustum
* @param {number} bottom Bottom bound of the frustum
* @param {number} top Top bound of the frustum
* @param {number} near Near bound of the frustum
* @param {number} far Far bound of the frustum
* @returns {mat4} out
*/
function ortho(out, left, right, bottom, top, near, far) {
var lr = 1 / (left - right),
bt = 1 / (bottom - top),
nf = 1 / (near - far);
out[0] = -2 * lr;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = -2 * bt;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 2 * nf;
out[11] = 0;
out[12] = (left + right) * lr;
out[13] = (top + bottom) * bt;
out[14] = (far + near) * nf;
out[15] = 1;
return out;
};
},{}],15:[function(require,module,exports){
module.exports = perspective;
/**
* Generates a perspective projection matrix with the given bounds
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {number} fovy Vertical field of view in radians
* @param {number} aspect Aspect ratio. typically viewport width/height
* @param {number} near Near bound of the frustum
* @param {number} far Far bound of the frustum
* @returns {mat4} out
*/
function perspective(out, fovy, aspect, near, far) {
var f = 1.0 / Math.tan(fovy / 2),
nf = 1 / (near - far);
out[0] = f / aspect;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = f;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = (far + near) * nf;
out[11] = -1;
out[12] = 0;
out[13] = 0;
out[14] = (2 * far * near) * nf;
out[15] = 0;
return out;
};
},{}],16:[function(require,module,exports){
module.exports = perspectiveFromFieldOfView;
/**
* Generates a perspective projection matrix with the given field of view.
* This is primarily useful for generating projection matrices to be used
* with the still experiemental WebVR API.
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {number} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees
* @param {number} near Near bound of the frustum
* @param {number} far Far bound of the frustum
* @returns {mat4} out
*/
function perspectiveFromFieldOfView(out, fov, near, far) {
var upTan = Math.tan(fov.upDegrees * Math.PI/180.0),
downTan = Math.tan(fov.downDegrees * Math.PI/180.0),
leftTan = Math.tan(fov.leftDegrees * Math.PI/180.0),
rightTan = Math.tan(fov.rightDegrees * Math.PI/180.0),
xScale = 2.0 / (leftTan + rightTan),
yScale = 2.0 / (upTan + downTan);
out[0] = xScale;
out[1] = 0.0;
out[2] = 0.0;
out[3] = 0.0;
out[4] = 0.0;
out[5] = yScale;
out[6] = 0.0;
out[7] = 0.0;
out[8] = -((leftTan - rightTan) * xScale * 0.5);
out[9] = ((upTan - downTan) * yScale * 0.5);
out[10] = far / (near - far);
out[11] = -1.0;
out[12] = 0.0;
out[13] = 0.0;
out[14] = (far * near) / (near - far);
out[15] = 0.0;
return out;
}
},{}],17:[function(require,module,exports){
module.exports = rotate;
/**
* Rotates a mat4 by the given angle
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @param {vec3} axis the axis to rotate around
* @returns {mat4} out
*/
function rotate(out, a, rad, axis) {
var x = axis[0], y = axis[1], z = axis[2],
len = Math.sqrt(x * x + y * y + z * z),
s, c, t,
a00, a01, a02, a03,
a10, a11, a12, a13,
a20, a21, a22, a23,
b00, b01, b02,
b10, b11, b12,
b20, b21, b22;
if (Math.abs(len) < 0.000001) { return null; }
len = 1 / len;
x *= len;
y *= len;
z *= len;
s = Math.sin(rad);
c = Math.cos(rad);
t = 1 - c;
a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3];
a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7];
a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11];
// Construct the elements of the rotation matrix
b00 = x * x * t + c; b01 = y * x * t + z * s; b02 = z * x * t - y * s;
b10 = x * y * t - z * s; b11 = y * y * t + c; b12 = z * y * t + x * s;
b20 = x * z * t + y * s; b21 = y * z * t - x * s; b22 = z * z * t + c;
// Perform rotation-specific matrix multiplication
out[0] = a00 * b00 + a10 * b01 + a20 * b02;
out[1] = a01 * b00 + a11 * b01 + a21 * b02;
out[2] = a02 * b00 + a12 * b01 + a22 * b02;
out[3] = a03 * b00 + a13 * b01 + a23 * b02;
out[4] = a00 * b10 + a10 * b11 + a20 * b12;
out[5] = a01 * b10 + a11 * b11 + a21 * b12;
out[6] = a02 * b10 + a12 * b11 + a22 * b12;
out[7] = a03 * b10 + a13 * b11 + a23 * b12;
out[8] = a00 * b20 + a10 * b21 + a20 * b22;
out[9] = a01 * b20 + a11 * b21 + a21 * b22;
out[10] = a02 * b20 + a12 * b21 + a22 * b22;
out[11] = a03 * b20 + a13 * b21 + a23 * b22;
if (a !== out) { // If the source and destination differ, copy the unchanged last row
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
return out;
};
},{}],18:[function(require,module,exports){
module.exports = rotateX;
/**
* Rotates a matrix by the given angle around the X axis
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function rotateX(out, a, rad) {
var s = Math.sin(rad),
c = Math.cos(rad),
a10 = a[4],
a11 = a[5],
a12 = a[6],
a13 = a[7],
a20 = a[8],
a21 = a[9],
a22 = a[10],
a23 = a[11];
if (a !== out) { // If the source and destination differ, copy the unchanged rows
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
// Perform axis-specific matrix multiplication
out[4] = a10 * c + a20 * s;
out[5] = a11 * c + a21 * s;
out[6] = a12 * c + a22 * s;
out[7] = a13 * c + a23 * s;
out[8] = a20 * c - a10 * s;
out[9] = a21 * c - a11 * s;
out[10] = a22 * c - a12 * s;
out[11] = a23 * c - a13 * s;
return out;
};
},{}],19:[function(require,module,exports){
module.exports = rotateY;
/**
* Rotates a matrix by the given angle around the Y axis
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function rotateY(out, a, rad) {
var s = Math.sin(rad),
c = Math.cos(rad),
a00 = a[0],
a01 = a[1],
a02 = a[2],
a03 = a[3],
a20 = a[8],
a21 = a[9],
a22 = a[10],
a23 = a[11];
if (a !== out) { // If the source and destination differ, copy the unchanged rows
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
// Perform axis-specific matrix multiplication
out[0] = a00 * c - a20 * s;
out[1] = a01 * c - a21 * s;
out[2] = a02 * c - a22 * s;
out[3] = a03 * c - a23 * s;
out[8] = a00 * s + a20 * c;
out[9] = a01 * s + a21 * c;
out[10] = a02 * s + a22 * c;
out[11] = a03 * s + a23 * c;
return out;
};
},{}],20:[function(require,module,exports){
module.exports = rotateZ;
/**
* Rotates a matrix by the given angle around the Z axis
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function rotateZ(out, a, rad) {
var s = Math.sin(rad),
c = Math.cos(rad),
a00 = a[0],
a01 = a[1],
a02 = a[2],
a03 = a[3],
a10 = a[4],
a11 = a[5],
a12 = a[6],
a13 = a[7];
if (a !== out) { // If the source and destination differ, copy the unchanged last row
out[8] = a[8];
out[9] = a[9];
out[10] = a[10];
out[11] = a[11];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
// Perform axis-specific matrix multiplication
out[0] = a00 * c + a10 * s;
out[1] = a01 * c + a11 * s;
out[2] = a02 * c + a12 * s;
out[3] = a03 * c + a13 * s;
out[4] = a10 * c - a00 * s;
out[5] = a11 * c - a01 * s;
out[6] = a12 * c - a02 * s;
out[7] = a13 * c - a03 * s;
return out;
};
},{}],21:[function(require,module,exports){
module.exports = scale;
/**
* Scales the mat4 by the dimensions in the given vec3
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to scale
* @param {vec3} v the vec3 to scale the matrix by
* @returns {mat4} out
**/
function scale(out, a, v) {
var x = v[0], y = v[1], z = v[2];
out[0] = a[0] * x;
out[1] = a[1] * x;
out[2] = a[2] * x;
out[3] = a[3] * x;
out[4] = a[4] * y;
out[5] = a[5] * y;
out[6] = a[6] * y;
out[7] = a[7] * y;
out[8] = a[8] * z;
out[9] = a[9] * z;
out[10] = a[10] * z;
out[11] = a[11] * z;
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
return out;
};
},{}],22:[function(require,module,exports){
module.exports = str;
/**
* Returns a string representation of a mat4
*
* @param {mat4} mat matrix to represent as a string
* @returns {String} string representation of the matrix
*/
function str(a) {
return 'mat4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' +
a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' +
a[8] + ', ' + a[9] + ', ' + a[10] + ', ' + a[11] + ', ' +
a[12] + ', ' + a[13] + ', ' + a[14] + ', ' + a[15] + ')';
};
},{}],23:[function(require,module,exports){
module.exports = translate;
/**
* Translate a mat4 by the given vector
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to translate
* @param {vec3} v vector to translate by
* @returns {mat4} out
*/
function translate(out, a, v) {
var x = v[0], y = v[1], z = v[2],
a00, a01, a02, a03,
a10, a11, a12, a13,
a20, a21, a22, a23;
if (a === out) {
out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];
out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];
out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];
out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];
} else {
a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3];
a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7];
a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11];
out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03;
out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13;
out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23;
out[12] = a00 * x + a10 * y + a20 * z + a[12];
out[13] = a01 * x + a11 * y + a21 * z + a[13];
out[14] = a02 * x + a12 * y + a22 * z + a[14];
out[15] = a03 * x + a13 * y + a23 * z + a[15];
}
return out;
};
},{}],24:[function(require,module,exports){
module.exports = transpose;
/**
* Transpose the values of a mat4
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function transpose(out, a) {
// If we are transposing ourselves we can skip a few steps but have to cache some values
if (out === a) {
var a01 = a[1], a02 = a[2], a03 = a[3],
a12 = a[6], a13 = a[7],
a23 = a[11];
out[1] = a[4];
out[2] = a[8];
out[3] = a[12];
out[4] = a01;
out[6] = a[9];
out[7] = a[13];
out[8] = a02;
out[9] = a12;
out[11] = a[14];
out[12] = a03;
out[13] = a13;
out[14] = a23;
} else {
out[0] = a[0];
out[1] = a[4];
out[2] = a[8];
out[3] = a[12];
out[4] = a[1];
out[5] = a[5];
out[6] = a[9];
out[7] = a[13];
out[8] = a[2];
out[9] = a[6];
out[10] = a[10];
out[11] = a[14];
out[12] = a[3];
out[13] = a[7];
out[14] = a[11];
out[15] = a[15];
}
return out;
};
},{}],"regl-model":[function(require,module,exports){
'use strict'
/**
* Module dependencies.
*/
const mat4 = require('gl-mat4')
/**
* Creates a regl command that defines a model
* uniform mat4. It also expose a transform
* matrix that can be accepted as input to other
* model draw commands. An exposed transform allows
* for a hierarchy of transforms to be applied to models.
*
* @public
* @param {Function} regl
* @param {(Object)?} initialState
* @return {Function}
*/
module.exports = createREGLModel
function createREGLModel(regl, initialState) {
if ('function' != typeof regl) {
throw new TypeError("Expecting regl to be a function.")
}
// global matrix
const transform = mat4.identity([])
initialState = initialState || {}
// configurable properties
const rotation = initialState.rotation || [0, 0, 0, 1]
const position = initialState.position || [0, 0, 0]
const scale = initialState.scale || []
for (let i = 0; i < position.length; ++i) {
if (null == scale[i]) {
scale[i] = 1
}
}
// init regl draw command
const draw = regl({
context: {
transform: transform,
rotation: rotation,
position: position,
scale: scale,
},
uniforms: {
model(ctx, props) {
const model = []
mat4.identity(model)
if ('rotation' in props) {
rotation[0] = props.rotation[0] || 0
rotation[1] = props.rotation[1] || 0
rotation[2] = props.rotation[2] || 0
rotation[3] = props.rotation[3] || 1
}
if ('position' in props) {
position[0] = props.position[0] || 0
position[1] = props.position[1] || 0
;(null != props.position[2]) && (position[2] = props.position[2] || 0)
}
if ('scale' in props) {
scale[0] = props.scale[0] || 0
scale[1] = props.scale[1] || 0
;(null != props.scale[2]) && (scale[2] = props.scale[2] || 0)
}
;(3 == position.length) && mat4.translate(model, model, position)
mat4.multiply(model, model, mat4.fromQuat([], rotation))
;(3 == scale.length) && mat4.scale(model, model, scale)
;('transform' in props) && mat4.multiply(model, props.transform, model)
mat4.copy(transform, model)
return model
}
}
})
return Object.assign(draw, {
get transform() { return transform },
get position() { return position },
get rotation() { return rotation },
get scale() { return scale },
})
}
},{"gl-mat4":10}]},{},[])
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L2Fkam9pbnQuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9jbG9uZS5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L2NvcHkuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9jcmVhdGUuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9kZXRlcm1pbmFudC5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L2Zyb21RdWF0LmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvZnJvbVJvdGF0aW9uVHJhbnNsYXRpb24uanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9mcnVzdHVtLmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvaWRlbnRpdHkuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L2ludmVydC5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L2xvb2tBdC5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L211bHRpcGx5LmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvb3J0aG8uanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9wZXJzcGVjdGl2ZS5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L3BlcnNwZWN0aXZlRnJvbUZpZWxkT2ZWaWV3LmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvcm90YXRlLmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvcm90YXRlWC5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L3JvdGF0ZVkuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9yb3RhdGVaLmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvc2NhbGUuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC9zdHIuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC90cmFuc2xhdGUuanMiLCJub2RlX21vZHVsZXMvZ2wtbWF0NC90cmFuc3Bvc2UuanMiLCJzcmMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDaENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzNCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDN0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDOUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDcERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNuQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN4QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN6RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3pDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDL0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDM0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDM0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDM0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDckNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwibW9kdWxlLmV4cG9ydHMgPSBhZGpvaW50O1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGFkanVnYXRlIG9mIGEgbWF0NFxuICpcbiAqIEBwYXJhbSB7bWF0NH0gb3V0IHRoZSByZWNlaXZpbmcgbWF0cml4XG4gKiBAcGFyYW0ge21hdDR9IGEgdGhlIHNvdXJjZSBtYXRyaXhcbiAqIEByZXR1cm5zIHttYXQ0fSBvdXRcbiAqL1xuZnVuY3Rpb24gYWRqb2ludChvdXQsIGEpIHtcbiAgICB2YXIgYTAwID0gYVswXSwgYTAxID0gYVsxXSwgYTAyID0gYVsyXSwgYTAzID0gYVszXSxcbiAgICAgICAgYTEwID0gYVs0XSwgYTExID0gYVs1XSwgYTEyID0gYVs2XSwgYTEzID0gYVs3XSxcbiAgICAgICAgYTIwID0gYVs4XSwgYTIxID0gYVs5XSwgYTIyID0gYVsxMF0sIGEyMyA9IGFbMTFdLFxuICAgICAgICBhMzAgPSBhWzEyXSwgYTMxID0gYVsxM10sIGEzMiA9IGFbMTRdLCBhMzMgPSBhWzE1XTtcblxuICAgIG91dFswXSAgPSAgKGExMSAqIChhMjIgKiBhMzMgLSBhMjMgKiBhMzIpIC0gYTIxICogKGExMiAqIGEzMyAtIGExMyAqIGEzMikgKyBhMzEgKiAoYTEyICogYTIzIC0gYTEzICogYTIyKSk7XG4gICAgb3V0WzFdICA9IC0oYTAxICogKGEyMiAqIGEzMyAtIGEyMyAqIGEzMikgLSBhMjEgKiAoYTAyICogYTMzIC0gYTAzICogYTMyKSArIGEzMSAqIChhMDIgKiBhMjMgLSBhMDMgKiBhMjIpKTtcbiAgICBvdXRbMl0gID0gIChhMDEgKiAoYTEyICogYTMzIC0gYTEzICogYTMyKSAtIGExMSAqIChhMDIgKiBhMzMgLSBhMDMgKiBhMzIpICsgYTMxICogKGEwMiAqIGExMyAtIGEwMyAqIGExMikpO1xuICAgIG91dFszXSAgPSAtKGEwMSAqIChhMTIgKiBhMjMgLSBhMTMgKiBhMjIpIC0gYTExICogKGEwMiAqIGEyMyAtIGEwMyAqIGEyMikgKyBhMjEgKiAoYTAyICogYTEzIC0gYTAzICogYTEyKSk7XG4gICAgb3V0WzRdICA9IC0oYTEwICogKGEyMiAqIGEzMyAtIGEyMyAqIGEzMikgLSBhMjAgKiAoYTEyICogYTMzIC0gYTEzICogYTMyKSArIGEzMCAqIChhMTIgKiBhMjMgLSBhMTMgKiBhMjIpKTtcbiAgICBvdXRbNV0gID0gIChhMDAgKiAoYTIyICogYTMzIC0gYTIzICogYTMyKSAtIGEyMCAqIChhMDIgKiBhMzMgLSBhMDMgKiBhMzIpICsgYTMwICogKGEwMiAqIGEyMyAtIGEwMyAqIGEyMikpO1xuICAgIG91dFs2XSAgPSAtKGEwMCAqIChhMTIgKiBhMzMgLSBhMTMgKiBhMzIpIC0gYTEwICogKGEwMiAqIGEzMyAtIGEwMyAqIGEzMikgKyBhMzAgKiAoYTAyICogYTEzIC0gYTAzICogYTEyKSk7XG4gICAgb3V0WzddICA9ICAoYTAwICogKGExMiAqIGEyMyAtIGExMyAqIGEyMikgLSBhMTAgKiAoYTAyICogYTIzIC0gYTAzICogYTIyKSArIGEyMCAqIChhMDIgKiBhMTMgLSBhMDMgKiBhMTIpKTtcbiAgICBvdXRbOF0gID0gIChhMTAgKiAoYTIxICogYTMzIC0gYTIzICogYTMxKSAtIGEyMCAqIChhMTEgKiBhMzMgLSBhMTMgKiBhMzEpICsgYTMwICogKGExMSAqIGEyMyAtIGExMyAqIGEyMSkpO1xuICAgIG91dFs5XSAgPSAtKGEwMCAqIChhMjEgKiBhMzMgLSBhMjMgKiBhMzEpIC0gYTIwICogKGEwMSAqIGEzMyAtIGEwMyAqIGEzMSkgKyBhMzAgKiAoYTAxICogYTIzIC0gYTAzICogYTIxKSk7XG4gICAgb3V0WzEwXSA9ICAoYTAwICogKGExMSAqIGEzMyAtIGExMyAqIGEzMSkgLSBhMTAgKiAoYTAxICogYTMzIC0gYTAzICogYTMxKSArIGEzMCAqIChhMDEgKiBhMTMgLSBhMDMgKiBhMTEpKTtcbiAgICBvdXRbMTFdID0gLShhMDAgKiAoYTExICogYTIzIC0gYTEzICogYTIxKSAtIGExMCAqIChhMDEgKiBhMjMgLSBhMDMgKiBhMjEpICsgYTIwICogKGEwMSAqIGExMyAtIGEwMyAqIGExMSkpO1xuICAgIG91dFsxMl0gPSAtKGExMCAqIChhMjEgKiBhMzIgLSBhMjIgKiBhMzEpIC0gYTIwICogKGExMSAqIGEzMiAtIGExMiAqIGEzMSkgKyBhMzAgKiAoYTExICogYTIyIC0gYTEyICogYTIxKSk7XG4gICAgb3V0WzEzXSA9ICAoYTAwICogKGEyMSAqIGEzMiAtIGEyMiAqIGEzMSkgLSBhMjAgKiAoYTAxICogYTMyIC0gYTAyICogYTMxKSArIGEzMCAqIChhMDEgKiBhMjIgLSBhMDIgKiBhMjEpKTtcbiAgICBvdXRbMTRdID0gLShhMDAgKiAoYTExICogYTMyIC0gYTEyICogYTMxKSAtIGExMCAqIChhMDEgKiBhMzIgLSBhMDIgKiBhMzEpICsgYTMwICogKGEwMSAqIGExMiAtIGEwMiAqIGExMSkpO1xuICAgIG91dFsxNV0gPSAgKGEwMCAqIChhMTEgKiBhMjIgLSBhMTIgKiBhMjEpIC0gYTEwICogKGEwMSAqIGEyMiAtIGEwMiAqIGEyMSkgKyBhMjAgKiAoYTAxICogYTEyIC0gYTAyICogYTExKSk7XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBjbG9uZTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IG1hdDQgaW5pdGlhbGl6ZWQgd2l0aCB2YWx1ZXMgZnJvbSBhbiBleGlzdGluZyBtYXRyaXhcbiAqXG4gKiBAcGFyYW0ge21hdDR9IGEgbWF0cml4IHRvIGNsb25lXG4gKiBAcmV0dXJucyB7bWF0NH0gYSBuZXcgNHg0IG1hdHJpeFxuICovXG5mdW5jdGlvbiBjbG9uZShhKSB7XG4gICAgdmFyIG91dCA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xuICAgIG91dFswXSA9IGFbMF07XG4gICAgb3V0WzFdID0gYVsxXTtcbiAgICBvdXRbMl0gPSBhWzJdO1xuICAgIG91dFszXSA9IGFbM107XG4gICAgb3V0WzRdID0gYVs0XTtcbiAgICBvdXRbNV0gPSBhWzVdO1xuICAgIG91dFs2XSA9IGFbNl07XG4gICAgb3V0WzddID0gYVs3XTtcbiAgICBvdXRbOF0gPSBhWzhdO1xuICAgIG91dFs5XSA9IGFbOV07XG4gICAgb3V0WzEwXSA9IGFbMTBdO1xuICAgIG91dFsxMV0gPSBhWzExXTtcbiAgICBvdXRbMTJdID0gYVsxMl07XG4gICAgb3V0WzEzXSA9IGFbMTNdO1xuICAgIG91dFsxNF0gPSBhWzE0XTtcbiAgICBvdXRbMTVdID0gYVsxNV07XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBjb3B5O1xuXG4vKipcbiAqIENvcHkgdGhlIHZhbHVlcyBmcm9tIG9uZSBtYXQ0IHRvIGFub3RoZXJcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHBhcmFtIHttYXQ0fSBhIHRoZSBzb3VyY2UgbWF0cml4XG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGNvcHkob3V0LCBhKSB7XG4gICAgb3V0WzBdID0gYVswXTtcbiAgICBvdXRbMV0gPSBhWzFdO1xuICAgIG91dFsyXSA9IGFbMl07XG4gICAgb3V0WzNdID0gYVszXTtcbiAgICBvdXRbNF0gPSBhWzRdO1xuICAgIG91dFs1XSA9IGFbNV07XG4gICAgb3V0WzZdID0gYVs2XTtcbiAgICBvdXRbN10gPSBhWzddO1xuICAgIG91dFs4XSA9IGFbOF07XG4gICAgb3V0WzldID0gYVs5XTtcbiAgICBvdXRbMTBdID0gYVsxMF07XG4gICAgb3V0WzExXSA9IGFbMTFdO1xuICAgIG91dFsxMl0gPSBhWzEyXTtcbiAgICBvdXRbMTNdID0gYVsxM107XG4gICAgb3V0WzE0XSA9IGFbMTRdO1xuICAgIG91dFsxNV0gPSBhWzE1XTtcbiAgICByZXR1cm4gb3V0O1xufTsiLCJtb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGlkZW50aXR5IG1hdDRcbiAqXG4gKiBAcmV0dXJucyB7bWF0NH0gYSBuZXcgNHg0IG1hdHJpeFxuICovXG5mdW5jdGlvbiBjcmVhdGUoKSB7XG4gICAgdmFyIG91dCA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xuICAgIG91dFswXSA9IDE7XG4gICAgb3V0WzFdID0gMDtcbiAgICBvdXRbMl0gPSAwO1xuICAgIG91dFszXSA9IDA7XG4gICAgb3V0WzRdID0gMDtcbiAgICBvdXRbNV0gPSAxO1xuICAgIG91dFs2XSA9IDA7XG4gICAgb3V0WzddID0gMDtcbiAgICBvdXRbOF0gPSAwO1xuICAgIG91dFs5XSA9IDA7XG4gICAgb3V0WzEwXSA9IDE7XG4gICAgb3V0WzExXSA9IDA7XG4gICAgb3V0WzEyXSA9IDA7XG4gICAgb3V0WzEzXSA9IDA7XG4gICAgb3V0WzE0XSA9IDA7XG4gICAgb3V0WzE1XSA9IDE7XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBkZXRlcm1pbmFudDtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBkZXRlcm1pbmFudCBvZiBhIG1hdDRcbiAqXG4gKiBAcGFyYW0ge21hdDR9IGEgdGhlIHNvdXJjZSBtYXRyaXhcbiAqIEByZXR1cm5zIHtOdW1iZXJ9IGRldGVybWluYW50IG9mIGFcbiAqL1xuZnVuY3Rpb24gZGV0ZXJtaW5hbnQoYSkge1xuICAgIHZhciBhMDAgPSBhWzBdLCBhMDEgPSBhWzFdLCBhMDIgPSBhWzJdLCBhMDMgPSBhWzNdLFxuICAgICAgICBhMTAgPSBhWzRdLCBhMTEgPSBhWzVdLCBhMTIgPSBhWzZdLCBhMTMgPSBhWzddLFxuICAgICAgICBhMjAgPSBhWzhdLCBhMjEgPSBhWzldLCBhMjIgPSBhWzEwXSwgYTIzID0gYVsxMV0sXG4gICAgICAgIGEzMCA9IGFbMTJdLCBhMzEgPSBhWzEzXSwgYTMyID0gYVsxNF0sIGEzMyA9IGFbMTVdLFxuXG4gICAgICAgIGIwMCA9IGEwMCAqIGExMSAtIGEwMSAqIGExMCxcbiAgICAgICAgYjAxID0gYTAwICogYTEyIC0gYTAyICogYTEwLFxuICAgICAgICBiMDIgPSBhMDAgKiBhMTMgLSBhMDMgKiBhMTAsXG4gICAgICAgIGIwMyA9IGEwMSAqIGExMiAtIGEwMiAqIGExMSxcbiAgICAgICAgYjA0ID0gYTAxICogYTEzIC0gYTAzICogYTExLFxuICAgICAgICBiMDUgPSBhMDIgKiBhMTMgLSBhMDMgKiBhMTIsXG4gICAgICAgIGIwNiA9IGEyMCAqIGEzMSAtIGEyMSAqIGEzMCxcbiAgICAgICAgYjA3ID0gYTIwICogYTMyIC0gYTIyICogYTMwLFxuICAgICAgICBiMDggPSBhMjAgKiBhMzMgLSBhMjMgKiBhMzAsXG4gICAgICAgIGIwOSA9IGEyMSAqIGEzMiAtIGEyMiAqIGEzMSxcbiAgICAgICAgYjEwID0gYTIxICogYTMzIC0gYTIzICogYTMxLFxuICAgICAgICBiMTEgPSBhMjIgKiBhMzMgLSBhMjMgKiBhMzI7XG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIGRldGVybWluYW50XG4gICAgcmV0dXJuIGIwMCAqIGIxMSAtIGIwMSAqIGIxMCArIGIwMiAqIGIwOSArIGIwMyAqIGIwOCAtIGIwNCAqIGIwNyArIGIwNSAqIGIwNjtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBmcm9tUXVhdDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbWF0cml4IGZyb20gYSBxdWF0ZXJuaW9uIHJvdGF0aW9uLlxuICpcbiAqIEBwYXJhbSB7bWF0NH0gb3V0IG1hdDQgcmVjZWl2aW5nIG9wZXJhdGlvbiByZXN1bHRcbiAqIEBwYXJhbSB7cXVhdDR9IHEgUm90YXRpb24gcXVhdGVybmlvblxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiBmcm9tUXVhdChvdXQsIHEpIHtcbiAgICB2YXIgeCA9IHFbMF0sIHkgPSBxWzFdLCB6ID0gcVsyXSwgdyA9IHFbM10sXG4gICAgICAgIHgyID0geCArIHgsXG4gICAgICAgIHkyID0geSArIHksXG4gICAgICAgIHoyID0geiArIHosXG5cbiAgICAgICAgeHggPSB4ICogeDIsXG4gICAgICAgIHl4ID0geSAqIHgyLFxuICAgICAgICB5eSA9IHkgKiB5MixcbiAgICAgICAgenggPSB6ICogeDIsXG4gICAgICAgIHp5ID0geiAqIHkyLFxuICAgICAgICB6eiA9IHogKiB6MixcbiAgICAgICAgd3ggPSB3ICogeDIsXG4gICAgICAgIHd5ID0gdyAqIHkyLFxuICAgICAgICB3eiA9IHcgKiB6MjtcblxuICAgIG91dFswXSA9IDEgLSB5eSAtIHp6O1xuICAgIG91dFsxXSA9IHl4ICsgd3o7XG4gICAgb3V0WzJdID0genggLSB3eTtcbiAgICBvdXRbM10gPSAwO1xuXG4gICAgb3V0WzRdID0geXggLSB3ejtcbiAgICBvdXRbNV0gPSAxIC0geHggLSB6ejtcbiAgICBvdXRbNl0gPSB6eSArIHd4O1xuICAgIG91dFs3XSA9IDA7XG5cbiAgICBvdXRbOF0gPSB6eCArIHd5O1xuICAgIG91dFs5XSA9IHp5IC0gd3g7XG4gICAgb3V0WzEwXSA9IDEgLSB4eCAtIHl5O1xuICAgIG91dFsxMV0gPSAwO1xuXG4gICAgb3V0WzEyXSA9IDA7XG4gICAgb3V0WzEzXSA9IDA7XG4gICAgb3V0WzE0XSA9IDA7XG4gICAgb3V0WzE1XSA9IDE7XG5cbiAgICByZXR1cm4gb3V0O1xufTsiLCJtb2R1bGUuZXhwb3J0cyA9IGZyb21Sb3RhdGlvblRyYW5zbGF0aW9uO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBtYXRyaXggZnJvbSBhIHF1YXRlcm5pb24gcm90YXRpb24gYW5kIHZlY3RvciB0cmFuc2xhdGlvblxuICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIChidXQgbXVjaCBmYXN0ZXIgdGhhbik6XG4gKlxuICogICAgIG1hdDQuaWRlbnRpdHkoZGVzdCk7XG4gKiAgICAgbWF0NC50cmFuc2xhdGUoZGVzdCwgdmVjKTtcbiAqICAgICB2YXIgcXVhdE1hdCA9IG1hdDQuY3JlYXRlKCk7XG4gKiAgICAgcXVhdDQudG9NYXQ0KHF1YXQsIHF1YXRNYXQpO1xuICogICAgIG1hdDQubXVsdGlwbHkoZGVzdCwgcXVhdE1hdCk7XG4gKlxuICogQHBhcmFtIHttYXQ0fSBvdXQgbWF0NCByZWNlaXZpbmcgb3BlcmF0aW9uIHJlc3VsdFxuICogQHBhcmFtIHtxdWF0NH0gcSBSb3RhdGlvbiBxdWF0ZXJuaW9uXG4gKiBAcGFyYW0ge3ZlYzN9IHYgVHJhbnNsYXRpb24gdmVjdG9yXG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGZyb21Sb3RhdGlvblRyYW5zbGF0aW9uKG91dCwgcSwgdikge1xuICAgIC8vIFF1YXRlcm5pb24gbWF0aFxuICAgIHZhciB4ID0gcVswXSwgeSA9IHFbMV0sIHogPSBxWzJdLCB3ID0gcVszXSxcbiAgICAgICAgeDIgPSB4ICsgeCxcbiAgICAgICAgeTIgPSB5ICsgeSxcbiAgICAgICAgejIgPSB6ICsgeixcblxuICAgICAgICB4eCA9IHggKiB4MixcbiAgICAgICAgeHkgPSB4ICogeTIsXG4gICAgICAgIHh6ID0geCAqIHoyLFxuICAgICAgICB5eSA9IHkgKiB5MixcbiAgICAgICAgeXogPSB5ICogejIsXG4gICAgICAgIHp6ID0geiAqIHoyLFxuICAgICAgICB3eCA9IHcgKiB4MixcbiAgICAgICAgd3kgPSB3ICogeTIsXG4gICAgICAgIHd6ID0gdyAqIHoyO1xuXG4gICAgb3V0WzBdID0gMSAtICh5eSArIHp6KTtcbiAgICBvdXRbMV0gPSB4eSArIHd6O1xuICAgIG91dFsyXSA9IHh6IC0gd3k7XG4gICAgb3V0WzNdID0gMDtcbiAgICBvdXRbNF0gPSB4eSAtIHd6O1xuICAgIG91dFs1XSA9IDEgLSAoeHggKyB6eik7XG4gICAgb3V0WzZdID0geXogKyB3eDtcbiAgICBvdXRbN10gPSAwO1xuICAgIG91dFs4XSA9IHh6ICsgd3k7XG4gICAgb3V0WzldID0geXogLSB3eDtcbiAgICBvdXRbMTBdID0gMSAtICh4eCArIHl5KTtcbiAgICBvdXRbMTFdID0gMDtcbiAgICBvdXRbMTJdID0gdlswXTtcbiAgICBvdXRbMTNdID0gdlsxXTtcbiAgICBvdXRbMTRdID0gdlsyXTtcbiAgICBvdXRbMTVdID0gMTtcbiAgICBcbiAgICByZXR1cm4gb3V0O1xufTsiLCJtb2R1bGUuZXhwb3J0cyA9IGZydXN0dW07XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgZnJ1c3R1bSBtYXRyaXggd2l0aCB0aGUgZ2l2ZW4gYm91bmRzXG4gKlxuICogQHBhcmFtIHttYXQ0fSBvdXQgbWF0NCBmcnVzdHVtIG1hdHJpeCB3aWxsIGJlIHdyaXR0ZW4gaW50b1xuICogQHBhcmFtIHtOdW1iZXJ9IGxlZnQgTGVmdCBib3VuZCBvZiB0aGUgZnJ1c3R1bVxuICogQHBhcmFtIHtOdW1iZXJ9IHJpZ2h0IFJpZ2h0IGJvdW5kIG9mIHRoZSBmcnVzdHVtXG4gKiBAcGFyYW0ge051bWJlcn0gYm90dG9tIEJvdHRvbSBib3VuZCBvZiB0aGUgZnJ1c3R1bVxuICogQHBhcmFtIHtOdW1iZXJ9IHRvcCBUb3AgYm91bmQgb2YgdGhlIGZydXN0dW1cbiAqIEBwYXJhbSB7TnVtYmVyfSBuZWFyIE5lYXIgYm91bmQgb2YgdGhlIGZydXN0dW1cbiAqIEBwYXJhbSB7TnVtYmVyfSBmYXIgRmFyIGJvdW5kIG9mIHRoZSBmcnVzdHVtXG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGZydXN0dW0ob3V0LCBsZWZ0LCByaWdodCwgYm90dG9tLCB0b3AsIG5lYXIsIGZhcikge1xuICAgIHZhciBybCA9IDEgLyAocmlnaHQgLSBsZWZ0KSxcbiAgICAgICAgdGIgPSAxIC8gKHRvcCAtIGJvdHRvbSksXG4gICAgICAgIG5mID0gMSAvIChuZWFyIC0gZmFyKTtcbiAgICBvdXRbMF0gPSAobmVhciAqIDIpICogcmw7XG4gICAgb3V0WzFdID0gMDtcbiAgICBvdXRbMl0gPSAwO1xuICAgIG91dFszXSA9IDA7XG4gICAgb3V0WzRdID0gMDtcbiAgICBvdXRbNV0gPSAobmVhciAqIDIpICogdGI7XG4gICAgb3V0WzZdID0gMDtcbiAgICBvdXRbN10gPSAwO1xuICAgIG91dFs4XSA9IChyaWdodCArIGxlZnQpICogcmw7XG4gICAgb3V0WzldID0gKHRvcCArIGJvdHRvbSkgKiB0YjtcbiAgICBvdXRbMTBdID0gKGZhciArIG5lYXIpICogbmY7XG4gICAgb3V0WzExXSA9IC0xO1xuICAgIG91dFsxMl0gPSAwO1xuICAgIG91dFsxM10gPSAwO1xuICAgIG91dFsxNF0gPSAoZmFyICogbmVhciAqIDIpICogbmY7XG4gICAgb3V0WzE1XSA9IDA7XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBpZGVudGl0eTtcblxuLyoqXG4gKiBTZXQgYSBtYXQ0IHRvIHRoZSBpZGVudGl0eSBtYXRyaXhcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiBpZGVudGl0eShvdXQpIHtcbiAgICBvdXRbMF0gPSAxO1xuICAgIG91dFsxXSA9IDA7XG4gICAgb3V0WzJdID0gMDtcbiAgICBvdXRbM10gPSAwO1xuICAgIG91dFs0XSA9IDA7XG4gICAgb3V0WzVdID0gMTtcbiAgICBvdXRbNl0gPSAwO1xuICAgIG91dFs3XSA9IDA7XG4gICAgb3V0WzhdID0gMDtcbiAgICBvdXRbOV0gPSAwO1xuICAgIG91dFsxMF0gPSAxO1xuICAgIG91dFsxMV0gPSAwO1xuICAgIG91dFsxMl0gPSAwO1xuICAgIG91dFsxM10gPSAwO1xuICAgIG91dFsxNF0gPSAwO1xuICAgIG91dFsxNV0gPSAxO1xuICAgIHJldHVybiBvdXQ7XG59OyIsIm1vZHVsZS5leHBvcnRzID0ge1xuICBjcmVhdGU6IHJlcXVpcmUoJy4vY3JlYXRlJylcbiAgLCBjbG9uZTogcmVxdWlyZSgnLi9jbG9uZScpXG4gICwgY29weTogcmVxdWlyZSgnLi9jb3B5JylcbiAgLCBpZGVudGl0eTogcmVxdWlyZSgnLi9pZGVudGl0eScpXG4gICwgdHJhbnNwb3NlOiByZXF1aXJlKCcuL3RyYW5zcG9zZScpXG4gICwgaW52ZXJ0OiByZXF1aXJlKCcuL2ludmVydCcpXG4gICwgYWRqb2ludDogcmVxdWlyZSgnLi9hZGpvaW50JylcbiAgLCBkZXRlcm1pbmFudDogcmVxdWlyZSgnLi9kZXRlcm1pbmFudCcpXG4gICwgbXVsdGlwbHk6IHJlcXVpcmUoJy4vbXVsdGlwbHknKVxuICAsIHRyYW5zbGF0ZTogcmVxdWlyZSgnLi90cmFuc2xhdGUnKVxuICAsIHNjYWxlOiByZXF1aXJlKCcuL3NjYWxlJylcbiAgLCByb3RhdGU6IHJlcXVpcmUoJy4vcm90YXRlJylcbiAgLCByb3RhdGVYOiByZXF1aXJlKCcuL3JvdGF0ZVgnKVxuICAsIHJvdGF0ZVk6IHJlcXVpcmUoJy4vcm90YXRlWScpXG4gICwgcm90YXRlWjogcmVxdWlyZSgnLi9yb3RhdGVaJylcbiAgLCBmcm9tUm90YXRpb25UcmFuc2xhdGlvbjogcmVxdWlyZSgnLi9mcm9tUm90YXRpb25UcmFuc2xhdGlvbicpXG4gICwgZnJvbVF1YXQ6IHJlcXVpcmUoJy4vZnJvbVF1YXQnKVxuICAsIGZydXN0dW06IHJlcXVpcmUoJy4vZnJ1c3R1bScpXG4gICwgcGVyc3BlY3RpdmU6IHJlcXVpcmUoJy4vcGVyc3BlY3RpdmUnKVxuICAsIHBlcnNwZWN0aXZlRnJvbUZpZWxkT2ZWaWV3OiByZXF1aXJlKCcuL3BlcnNwZWN0aXZlRnJvbUZpZWxkT2ZWaWV3JylcbiAgLCBvcnRobzogcmVxdWlyZSgnLi9vcnRobycpXG4gICwgbG9va0F0OiByZXF1aXJlKCcuL2xvb2tBdCcpXG4gICwgc3RyOiByZXF1aXJlKCcuL3N0cicpXG59IiwibW9kdWxlLmV4cG9ydHMgPSBpbnZlcnQ7XG5cbi8qKlxuICogSW52ZXJ0cyBhIG1hdDRcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHBhcmFtIHttYXQ0fSBhIHRoZSBzb3VyY2UgbWF0cml4XG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIGludmVydChvdXQsIGEpIHtcbiAgICB2YXIgYTAwID0gYVswXSwgYTAxID0gYVsxXSwgYTAyID0gYVsyXSwgYTAzID0gYVszXSxcbiAgICAgICAgYTEwID0gYVs0XSwgYTExID0gYVs1XSwgYTEyID0gYVs2XSwgYTEzID0gYVs3XSxcbiAgICAgICAgYTIwID0gYVs4XSwgYTIxID0gYVs5XSwgYTIyID0gYVsxMF0sIGEyMyA9IGFbMTFdLFxuICAgICAgICBhMzAgPSBhWzEyXSwgYTMxID0gYVsxM10sIGEzMiA9IGFbMTRdLCBhMzMgPSBhWzE1XSxcblxuICAgICAgICBiMDAgPSBhMDAgKiBhMTEgLSBhMDEgKiBhMTAsXG4gICAgICAgIGIwMSA9IGEwMCAqIGExMiAtIGEwMiAqIGExMCxcbiAgICAgICAgYjAyID0gYTAwICogYTEzIC0gYTAzICogYTEwLFxuICAgICAgICBiMDMgPSBhMDEgKiBhMTIgLSBhMDIgKiBhMTEsXG4gICAgICAgIGIwNCA9IGEwMSAqIGExMyAtIGEwMyAqIGExMSxcbiAgICAgICAgYjA1ID0gYTAyICogYTEzIC0gYTAzICogYTEyLFxuICAgICAgICBiMDYgPSBhMjAgKiBhMzEgLSBhMjEgKiBhMzAsXG4gICAgICAgIGIwNyA9IGEyMCAqIGEzMiAtIGEyMiAqIGEzMCxcbiAgICAgICAgYjA4ID0gYTIwICogYTMzIC0gYTIzICogYTMwLFxuICAgICAgICBiMDkgPSBhMjEgKiBhMzIgLSBhMjIgKiBhMzEsXG4gICAgICAgIGIxMCA9IGEyMSAqIGEzMyAtIGEyMyAqIGEzMSxcbiAgICAgICAgYjExID0gYTIyICogYTMzIC0gYTIzICogYTMyLFxuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgZGV0ZXJtaW5hbnRcbiAgICAgICAgZGV0ID0gYjAwICogYjExIC0gYjAxICogYjEwICsgYjAyICogYjA5ICsgYjAzICogYjA4IC0gYjA0ICogYjA3ICsgYjA1ICogYjA2O1xuXG4gICAgaWYgKCFkZXQpIHsgXG4gICAgICAgIHJldHVybiBudWxsOyBcbiAgICB9XG4gICAgZGV0ID0gMS4wIC8gZGV0O1xuXG4gICAgb3V0WzBdID0gKGExMSAqIGIxMSAtIGExMiAqIGIxMCArIGExMyAqIGIwOSkgKiBkZXQ7XG4gICAgb3V0WzFdID0gKGEwMiAqIGIxMCAtIGEwMSAqIGIxMSAtIGEwMyAqIGIwOSkgKiBkZXQ7XG4gICAgb3V0WzJdID0gKGEzMSAqIGIwNSAtIGEzMiAqIGIwNCArIGEzMyAqIGIwMykgKiBkZXQ7XG4gICAgb3V0WzNdID0gKGEyMiAqIGIwNCAtIGEyMSAqIGIwNSAtIGEyMyAqIGIwMykgKiBkZXQ7XG4gICAgb3V0WzRdID0gKGExMiAqIGIwOCAtIGExMCAqIGIxMSAtIGExMyAqIGIwNykgKiBkZXQ7XG4gICAgb3V0WzVdID0gKGEwMCAqIGIxMSAtIGEwMiAqIGIwOCArIGEwMyAqIGIwNykgKiBkZXQ7XG4gICAgb3V0WzZdID0gKGEzMiAqIGIwMiAtIGEzMCAqIGIwNSAtIGEzMyAqIGIwMSkgKiBkZXQ7XG4gICAgb3V0WzddID0gKGEyMCAqIGIwNSAtIGEyMiAqIGIwMiArIGEyMyAqIGIwMSkgKiBkZXQ7XG4gICAgb3V0WzhdID0gKGExMCAqIGIxMCAtIGExMSAqIGIwOCArIGExMyAqIGIwNikgKiBkZXQ7XG4gICAgb3V0WzldID0gKGEwMSAqIGIwOCAtIGEwMCAqIGIxMCAtIGEwMyAqIGIwNikgKiBkZXQ7XG4gICAgb3V0WzEwXSA9IChhMzAgKiBiMDQgLSBhMzEgKiBiMDIgKyBhMzMgKiBiMDApICogZGV0O1xuICAgIG91dFsxMV0gPSAoYTIxICogYjAyIC0gYTIwICogYjA0IC0gYTIzICogYjAwKSAqIGRldDtcbiAgICBvdXRbMTJdID0gKGExMSAqIGIwNyAtIGExMCAqIGIwOSAtIGExMiAqIGIwNikgKiBkZXQ7XG4gICAgb3V0WzEzXSA9IChhMDAgKiBiMDkgLSBhMDEgKiBiMDcgKyBhMDIgKiBiMDYpICogZGV0O1xuICAgIG91dFsxNF0gPSAoYTMxICogYjAxIC0gYTMwICogYjAzIC0gYTMyICogYjAwKSAqIGRldDtcbiAgICBvdXRbMTVdID0gKGEyMCAqIGIwMyAtIGEyMSAqIGIwMSArIGEyMiAqIGIwMCkgKiBkZXQ7XG5cbiAgICByZXR1cm4gb3V0O1xufTsiLCJ2YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gbG9va0F0O1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGxvb2stYXQgbWF0cml4IHdpdGggdGhlIGdpdmVuIGV5ZSBwb3NpdGlvbiwgZm9jYWwgcG9pbnQsIGFuZCB1cCBheGlzXG4gKlxuICogQHBhcmFtIHttYXQ0fSBvdXQgbWF0NCBmcnVzdHVtIG1hdHJpeCB3aWxsIGJlIHdyaXR0ZW4gaW50b1xuICogQHBhcmFtIHt2ZWMzfSBleWUgUG9zaXRpb24gb2YgdGhlIHZpZXdlclxuICogQHBhcmFtIHt2ZWMzfSBjZW50ZXIgUG9pbnQgdGhlIHZpZXdlciBpcyBsb29raW5nIGF0XG4gKiBAcGFyYW0ge3ZlYzN9IHVwIHZlYzMgcG9pbnRpbmcgdXBcbiAqIEByZXR1cm5zIHttYXQ0fSBvdXRcbiAqL1xuZnVuY3Rpb24gbG9va0F0KG91dCwgZXllLCBjZW50ZXIsIHVwKSB7XG4gICAgdmFyIHgwLCB4MSwgeDIsIHkwLCB5MSwgeTIsIHowLCB6MSwgejIsIGxlbixcbiAgICAgICAgZXlleCA9IGV5ZVswXSxcbiAgICAgICAgZXlleSA9IGV5ZVsxXSxcbiAgICAgICAgZXlleiA9IGV5ZVsyXSxcbiAgICAgICAgdXB4ID0gdXBbMF0sXG4gICAgICAgIHVweSA9IHVwWzFdLFxuICAgICAgICB1cHogPSB1cFsyXSxcbiAgICAgICAgY2VudGVyeCA9IGNlbnRlclswXSxcbiAgICAgICAgY2VudGVyeSA9IGNlbnRlclsxXSxcbiAgICAgICAgY2VudGVyeiA9IGNlbnRlclsyXTtcblxuICAgIGlmIChNYXRoLmFicyhleWV4IC0gY2VudGVyeCkgPCAwLjAwMDAwMSAmJlxuICAgICAgICBNYXRoLmFicyhleWV5IC0gY2VudGVyeSkgPCAwLjAwMDAwMSAmJlxuICAgICAgICBNYXRoLmFicyhleWV6IC0gY2VudGVyeikgPCAwLjAwMDAwMSkge1xuICAgICAgICByZXR1cm4gaWRlbnRpdHkob3V0KTtcbiAgICB9XG5cbiAgICB6MCA9IGV5ZXggLSBjZW50ZXJ4O1xuICAgIHoxID0gZXlleSAtIGNlbnRlcnk7XG4gICAgejIgPSBleWV6IC0gY2VudGVyejtcblxuICAgIGxlbiA9IDEgLyBNYXRoLnNxcnQoejAgKiB6MCArIHoxICogejEgKyB6MiAqIHoyKTtcbiAgICB6MCAqPSBsZW47XG4gICAgejEgKj0gbGVuO1xuICAgIHoyICo9IGxlbjtcblxuICAgIHgwID0gdXB5ICogejIgLSB1cHogKiB6MTtcbiAgICB4MSA9IHVweiAqIHowIC0gdXB4ICogejI7XG4gICAgeDIgPSB1cHggKiB6MSAtIHVweSAqIHowO1xuICAgIGxlbiA9IE1hdGguc3FydCh4MCAqIHgwICsgeDEgKiB4MSArIHgyICogeDIpO1xuICAgIGlmICghbGVuKSB7XG4gICAgICAgIHgwID0gMDtcbiAgICAgICAgeDEgPSAwO1xuICAgICAgICB4MiA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbGVuID0gMSAvIGxlbjtcbiAgICAgICAgeDAgKj0gbGVuO1xuICAgICAgICB4MSAqPSBsZW47XG4gICAgICAgIHgyICo9IGxlbjtcbiAgICB9XG5cbiAgICB5MCA9IHoxICogeDIgLSB6MiAqIHgxO1xuICAgIHkxID0gejIgKiB4MCAtIHowICogeDI7XG4gICAgeTIgPSB6MCAqIHgxIC0gejEgKiB4MDtcblxuICAgIGxlbiA9IE1hdGguc3FydCh5MCAqIHkwICsgeTEgKiB5MSArIHkyICogeTIpO1xuICAgIGlmICghbGVuKSB7XG4gICAgICAgIHkwID0gMDtcbiAgICAgICAgeTEgPSAwO1xuICAgICAgICB5MiA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbGVuID0gMSAvIGxlbjtcbiAgICAgICAgeTAgKj0gbGVuO1xuICAgICAgICB5MSAqPSBsZW47XG4gICAgICAgIHkyICo9IGxlbjtcbiAgICB9XG5cbiAgICBvdXRbMF0gPSB4MDtcbiAgICBvdXRbMV0gPSB5MDtcbiAgICBvdXRbMl0gPSB6MDtcbiAgICBvdXRbM10gPSAwO1xuICAgIG91dFs0XSA9IHgxO1xuICAgIG91dFs1XSA9IHkxO1xuICAgIG91dFs2XSA9IHoxO1xuICAgIG91dFs3XSA9IDA7XG4gICAgb3V0WzhdID0geDI7XG4gICAgb3V0WzldID0geTI7XG4gICAgb3V0WzEwXSA9IHoyO1xuICAgIG91dFsxMV0gPSAwO1xuICAgIG91dFsxMl0gPSAtKHgwICogZXlleCArIHgxICogZXlleSArIHgyICogZXlleik7XG4gICAgb3V0WzEzXSA9IC0oeTAgKiBleWV4ICsgeTEgKiBleWV5ICsgeTIgKiBleWV6KTtcbiAgICBvdXRbMTRdID0gLSh6MCAqIGV5ZXggKyB6MSAqIGV5ZXkgKyB6MiAqIGV5ZXopO1xuICAgIG91dFsxNV0gPSAxO1xuXG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBtdWx0aXBseTtcblxuLyoqXG4gKiBNdWx0aXBsaWVzIHR3byBtYXQ0J3NcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHBhcmFtIHttYXQ0fSBhIHRoZSBmaXJzdCBvcGVyYW5kXG4gKiBAcGFyYW0ge21hdDR9IGIgdGhlIHNlY29uZCBvcGVyYW5kXG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIG11bHRpcGx5KG91dCwgYSwgYikge1xuICAgIHZhciBhMDAgPSBhWzBdLCBhMDEgPSBhWzFdLCBhMDIgPSBhWzJdLCBhMDMgPSBhWzNdLFxuICAgICAgICBhMTAgPSBhWzRdLCBhMTEgPSBhWzVdLCBhMTIgPSBhWzZdLCBhMTMgPSBhWzddLFxuICAgICAgICBhMjAgPSBhWzhdLCBhMjEgPSBhWzldLCBhMjIgPSBhWzEwXSwgYTIzID0gYVsxMV0sXG4gICAgICAgIGEzMCA9IGFbMTJdLCBhMzEgPSBhWzEzXSwgYTMyID0gYVsxNF0sIGEzMyA9IGFbMTVdO1xuXG4gICAgLy8gQ2FjaGUgb25seSB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBzZWNvbmQgbWF0cml4XG4gICAgdmFyIGIwICA9IGJbMF0sIGIxID0gYlsxXSwgYjIgPSBiWzJdLCBiMyA9IGJbM107ICBcbiAgICBvdXRbMF0gPSBiMCphMDAgKyBiMSphMTAgKyBiMiphMjAgKyBiMyphMzA7XG4gICAgb3V0WzFdID0gYjAqYTAxICsgYjEqYTExICsgYjIqYTIxICsgYjMqYTMxO1xuICAgIG91dFsyXSA9IGIwKmEwMiArIGIxKmExMiArIGIyKmEyMiArIGIzKmEzMjtcbiAgICBvdXRbM10gPSBiMCphMDMgKyBiMSphMTMgKyBiMiphMjMgKyBiMyphMzM7XG5cbiAgICBiMCA9IGJbNF07IGIxID0gYls1XTsgYjIgPSBiWzZdOyBiMyA9IGJbN107XG4gICAgb3V0WzRdID0gYjAqYTAwICsgYjEqYTEwICsgYjIqYTIwICsgYjMqYTMwO1xuICAgIG91dFs1XSA9IGIwKmEwMSArIGIxKmExMSArIGIyKmEyMSArIGIzKmEzMTtcbiAgICBvdXRbNl0gPSBiMCphMDIgKyBiMSphMTIgKyBiMiphMjIgKyBiMyphMzI7XG4gICAgb3V0WzddID0gYjAqYTAzICsgYjEqYTEzICsgYjIqYTIzICsgYjMqYTMzO1xuXG4gICAgYjAgPSBiWzhdOyBiMSA9IGJbOV07IGIyID0gYlsxMF07IGIzID0gYlsxMV07XG4gICAgb3V0WzhdID0gYjAqYTAwICsgYjEqYTEwICsgYjIqYTIwICsgYjMqYTMwO1xuICAgIG91dFs5XSA9IGIwKmEwMSArIGIxKmExMSArIGIyKmEyMSArIGIzKmEzMTtcbiAgICBvdXRbMTBdID0gYjAqYTAyICsgYjEqYTEyICsgYjIqYTIyICsgYjMqYTMyO1xuICAgIG91dFsxMV0gPSBiMCphMDMgKyBiMSphMTMgKyBiMiphMjMgKyBiMyphMzM7XG5cbiAgICBiMCA9IGJbMTJdOyBiMSA9IGJbMTNdOyBiMiA9IGJbMTRdOyBiMyA9IGJbMTVdO1xuICAgIG91dFsxMl0gPSBiMCphMDAgKyBiMSphMTAgKyBiMiphMjAgKyBiMyphMzA7XG4gICAgb3V0WzEzXSA9IGIwKmEwMSArIGIxKmExMSArIGIyKmEyMSArIGIzKmEzMTtcbiAgICBvdXRbMTRdID0gYjAqYTAyICsgYjEqYTEyICsgYjIqYTIyICsgYjMqYTMyO1xuICAgIG91dFsxNV0gPSBiMCphMDMgKyBiMSphMTMgKyBiMiphMjMgKyBiMyphMzM7XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBvcnRobztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBvcnRob2dvbmFsIHByb2plY3Rpb24gbWF0cml4IHdpdGggdGhlIGdpdmVuIGJvdW5kc1xuICpcbiAqIEBwYXJhbSB7bWF0NH0gb3V0IG1hdDQgZnJ1c3R1bSBtYXRyaXggd2lsbCBiZSB3cml0dGVuIGludG9cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZWZ0IExlZnQgYm91bmQgb2YgdGhlIGZydXN0dW1cbiAqIEBwYXJhbSB7bnVtYmVyfSByaWdodCBSaWdodCBib3VuZCBvZiB0aGUgZnJ1c3R1bVxuICogQHBhcmFtIHtudW1iZXJ9IGJvdHRvbSBCb3R0b20gYm91bmQgb2YgdGhlIGZydXN0dW1cbiAqIEBwYXJhbSB7bnVtYmVyfSB0b3AgVG9wIGJvdW5kIG9mIHRoZSBmcnVzdHVtXG4gKiBAcGFyYW0ge251bWJlcn0gbmVhciBOZWFyIGJvdW5kIG9mIHRoZSBmcnVzdHVtXG4gKiBAcGFyYW0ge251bWJlcn0gZmFyIEZhciBib3VuZCBvZiB0aGUgZnJ1c3R1bVxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiBvcnRobyhvdXQsIGxlZnQsIHJpZ2h0LCBib3R0b20sIHRvcCwgbmVhciwgZmFyKSB7XG4gICAgdmFyIGxyID0gMSAvIChsZWZ0IC0gcmlnaHQpLFxuICAgICAgICBidCA9IDEgLyAoYm90dG9tIC0gdG9wKSxcbiAgICAgICAgbmYgPSAxIC8gKG5lYXIgLSBmYXIpO1xuICAgIG91dFswXSA9IC0yICogbHI7XG4gICAgb3V0WzFdID0gMDtcbiAgICBvdXRbMl0gPSAwO1xuICAgIG91dFszXSA9IDA7XG4gICAgb3V0WzRdID0gMDtcbiAgICBvdXRbNV0gPSAtMiAqIGJ0O1xuICAgIG91dFs2XSA9IDA7XG4gICAgb3V0WzddID0gMDtcbiAgICBvdXRbOF0gPSAwO1xuICAgIG91dFs5XSA9IDA7XG4gICAgb3V0WzEwXSA9IDIgKiBuZjtcbiAgICBvdXRbMTFdID0gMDtcbiAgICBvdXRbMTJdID0gKGxlZnQgKyByaWdodCkgKiBscjtcbiAgICBvdXRbMTNdID0gKHRvcCArIGJvdHRvbSkgKiBidDtcbiAgICBvdXRbMTRdID0gKGZhciArIG5lYXIpICogbmY7XG4gICAgb3V0WzE1XSA9IDE7XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBwZXJzcGVjdGl2ZTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBwZXJzcGVjdGl2ZSBwcm9qZWN0aW9uIG1hdHJpeCB3aXRoIHRoZSBnaXZlbiBib3VuZHNcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCBtYXQ0IGZydXN0dW0gbWF0cml4IHdpbGwgYmUgd3JpdHRlbiBpbnRvXG4gKiBAcGFyYW0ge251bWJlcn0gZm92eSBWZXJ0aWNhbCBmaWVsZCBvZiB2aWV3IGluIHJhZGlhbnNcbiAqIEBwYXJhbSB7bnVtYmVyfSBhc3BlY3QgQXNwZWN0IHJhdGlvLiB0eXBpY2FsbHkgdmlld3BvcnQgd2lkdGgvaGVpZ2h0XG4gKiBAcGFyYW0ge251bWJlcn0gbmVhciBOZWFyIGJvdW5kIG9mIHRoZSBmcnVzdHVtXG4gKiBAcGFyYW0ge251bWJlcn0gZmFyIEZhciBib3VuZCBvZiB0aGUgZnJ1c3R1bVxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiBwZXJzcGVjdGl2ZShvdXQsIGZvdnksIGFzcGVjdCwgbmVhciwgZmFyKSB7XG4gICAgdmFyIGYgPSAxLjAgLyBNYXRoLnRhbihmb3Z5IC8gMiksXG4gICAgICAgIG5mID0gMSAvIChuZWFyIC0gZmFyKTtcbiAgICBvdXRbMF0gPSBmIC8gYXNwZWN0O1xuICAgIG91dFsxXSA9IDA7XG4gICAgb3V0WzJdID0gMDtcbiAgICBvdXRbM10gPSAwO1xuICAgIG91dFs0XSA9IDA7XG4gICAgb3V0WzVdID0gZjtcbiAgICBvdXRbNl0gPSAwO1xuICAgIG91dFs3XSA9IDA7XG4gICAgb3V0WzhdID0gMDtcbiAgICBvdXRbOV0gPSAwO1xuICAgIG91dFsxMF0gPSAoZmFyICsgbmVhcikgKiBuZjtcbiAgICBvdXRbMTFdID0gLTE7XG4gICAgb3V0WzEyXSA9IDA7XG4gICAgb3V0WzEzXSA9IDA7XG4gICAgb3V0WzE0XSA9ICgyICogZmFyICogbmVhcikgKiBuZjtcbiAgICBvdXRbMTVdID0gMDtcbiAgICByZXR1cm4gb3V0O1xufTsiLCJtb2R1bGUuZXhwb3J0cyA9IHBlcnNwZWN0aXZlRnJvbUZpZWxkT2ZWaWV3O1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIHBlcnNwZWN0aXZlIHByb2plY3Rpb24gbWF0cml4IHdpdGggdGhlIGdpdmVuIGZpZWxkIG9mIHZpZXcuXG4gKiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIGdlbmVyYXRpbmcgcHJvamVjdGlvbiBtYXRyaWNlcyB0byBiZSB1c2VkXG4gKiB3aXRoIHRoZSBzdGlsbCBleHBlcmllbWVudGFsIFdlYlZSIEFQSS5cbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCBtYXQ0IGZydXN0dW0gbWF0cml4IHdpbGwgYmUgd3JpdHRlbiBpbnRvXG4gKiBAcGFyYW0ge251bWJlcn0gZm92IE9iamVjdCBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgdmFsdWVzOiB1cERlZ3JlZXMsIGRvd25EZWdyZWVzLCBsZWZ0RGVncmVlcywgcmlnaHREZWdyZWVzXG4gKiBAcGFyYW0ge251bWJlcn0gbmVhciBOZWFyIGJvdW5kIG9mIHRoZSBmcnVzdHVtXG4gKiBAcGFyYW0ge251bWJlcn0gZmFyIEZhciBib3VuZCBvZiB0aGUgZnJ1c3R1bVxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiBwZXJzcGVjdGl2ZUZyb21GaWVsZE9mVmlldyhvdXQsIGZvdiwgbmVhciwgZmFyKSB7XG4gICAgdmFyIHVwVGFuID0gTWF0aC50YW4oZm92LnVwRGVncmVlcyAqIE1hdGguUEkvMTgwLjApLFxuICAgICAgICBkb3duVGFuID0gTWF0aC50YW4oZm92LmRvd25EZWdyZWVzICogTWF0aC5QSS8xODAuMCksXG4gICAgICAgIGxlZnRUYW4gPSBNYXRoLnRhbihmb3YubGVmdERlZ3JlZXMgKiBNYXRoLlBJLzE4MC4wKSxcbiAgICAgICAgcmlnaHRUYW4gPSBNYXRoLnRhbihmb3YucmlnaHREZWdyZWVzICogTWF0aC5QSS8xODAuMCksXG4gICAgICAgIHhTY2FsZSA9IDIuMCAvIChsZWZ0VGFuICsgcmlnaHRUYW4pLFxuICAgICAgICB5U2NhbGUgPSAyLjAgLyAodXBUYW4gKyBkb3duVGFuKTtcblxuICAgIG91dFswXSA9IHhTY2FsZTtcbiAgICBvdXRbMV0gPSAwLjA7XG4gICAgb3V0WzJdID0gMC4wO1xuICAgIG91dFszXSA9IDAuMDtcbiAgICBvdXRbNF0gPSAwLjA7XG4gICAgb3V0WzVdID0geVNjYWxlO1xuICAgIG91dFs2XSA9IDAuMDtcbiAgICBvdXRbN10gPSAwLjA7XG4gICAgb3V0WzhdID0gLSgobGVmdFRhbiAtIHJpZ2h0VGFuKSAqIHhTY2FsZSAqIDAuNSk7XG4gICAgb3V0WzldID0gKCh1cFRhbiAtIGRvd25UYW4pICogeVNjYWxlICogMC41KTtcbiAgICBvdXRbMTBdID0gZmFyIC8gKG5lYXIgLSBmYXIpO1xuICAgIG91dFsxMV0gPSAtMS4wO1xuICAgIG91dFsxMl0gPSAwLjA7XG4gICAgb3V0WzEzXSA9IDAuMDtcbiAgICBvdXRbMTRdID0gKGZhciAqIG5lYXIpIC8gKG5lYXIgLSBmYXIpO1xuICAgIG91dFsxNV0gPSAwLjA7XG4gICAgcmV0dXJuIG91dDtcbn1cblxuIiwibW9kdWxlLmV4cG9ydHMgPSByb3RhdGU7XG5cbi8qKlxuICogUm90YXRlcyBhIG1hdDQgYnkgdGhlIGdpdmVuIGFuZ2xlXG4gKlxuICogQHBhcmFtIHttYXQ0fSBvdXQgdGhlIHJlY2VpdmluZyBtYXRyaXhcbiAqIEBwYXJhbSB7bWF0NH0gYSB0aGUgbWF0cml4IHRvIHJvdGF0ZVxuICogQHBhcmFtIHtOdW1iZXJ9IHJhZCB0aGUgYW5nbGUgdG8gcm90YXRlIHRoZSBtYXRyaXggYnlcbiAqIEBwYXJhbSB7dmVjM30gYXhpcyB0aGUgYXhpcyB0byByb3RhdGUgYXJvdW5kXG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIHJvdGF0ZShvdXQsIGEsIHJhZCwgYXhpcykge1xuICAgIHZhciB4ID0gYXhpc1swXSwgeSA9IGF4aXNbMV0sIHogPSBheGlzWzJdLFxuICAgICAgICBsZW4gPSBNYXRoLnNxcnQoeCAqIHggKyB5ICogeSArIHogKiB6KSxcbiAgICAgICAgcywgYywgdCxcbiAgICAgICAgYTAwLCBhMDEsIGEwMiwgYTAzLFxuICAgICAgICBhMTAsIGExMSwgYTEyLCBhMTMsXG4gICAgICAgIGEyMCwgYTIxLCBhMjIsIGEyMyxcbiAgICAgICAgYjAwLCBiMDEsIGIwMixcbiAgICAgICAgYjEwLCBiMTEsIGIxMixcbiAgICAgICAgYjIwLCBiMjEsIGIyMjtcblxuICAgIGlmIChNYXRoLmFicyhsZW4pIDwgMC4wMDAwMDEpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBcbiAgICBsZW4gPSAxIC8gbGVuO1xuICAgIHggKj0gbGVuO1xuICAgIHkgKj0gbGVuO1xuICAgIHogKj0gbGVuO1xuXG4gICAgcyA9IE1hdGguc2luKHJhZCk7XG4gICAgYyA9IE1hdGguY29zKHJhZCk7XG4gICAgdCA9IDEgLSBjO1xuXG4gICAgYTAwID0gYVswXTsgYTAxID0gYVsxXTsgYTAyID0gYVsyXTsgYTAzID0gYVszXTtcbiAgICBhMTAgPSBhWzRdOyBhMTEgPSBhWzVdOyBhMTIgPSBhWzZdOyBhMTMgPSBhWzddO1xuICAgIGEyMCA9IGFbOF07IGEyMSA9IGFbOV07IGEyMiA9IGFbMTBdOyBhMjMgPSBhWzExXTtcblxuICAgIC8vIENvbnN0cnVjdCB0aGUgZWxlbWVudHMgb2YgdGhlIHJvdGF0aW9uIG1hdHJpeFxuICAgIGIwMCA9IHggKiB4ICogdCArIGM7IGIwMSA9IHkgKiB4ICogdCArIHogKiBzOyBiMDIgPSB6ICogeCAqIHQgLSB5ICogcztcbiAgICBiMTAgPSB4ICogeSAqIHQgLSB6ICogczsgYjExID0geSAqIHkgKiB0ICsgYzsgYjEyID0geiAqIHkgKiB0ICsgeCAqIHM7XG4gICAgYjIwID0geCAqIHogKiB0ICsgeSAqIHM7IGIyMSA9IHkgKiB6ICogdCAtIHggKiBzOyBiMjIgPSB6ICogeiAqIHQgKyBjO1xuXG4gICAgLy8gUGVyZm9ybSByb3RhdGlvbi1zcGVjaWZpYyBtYXRyaXggbXVsdGlwbGljYXRpb25cbiAgICBvdXRbMF0gPSBhMDAgKiBiMDAgKyBhMTAgKiBiMDEgKyBhMjAgKiBiMDI7XG4gICAgb3V0WzFdID0gYTAxICogYjAwICsgYTExICogYjAxICsgYTIxICogYjAyO1xuICAgIG91dFsyXSA9IGEwMiAqIGIwMCArIGExMiAqIGIwMSArIGEyMiAqIGIwMjtcbiAgICBvdXRbM10gPSBhMDMgKiBiMDAgKyBhMTMgKiBiMDEgKyBhMjMgKiBiMDI7XG4gICAgb3V0WzRdID0gYTAwICogYjEwICsgYTEwICogYjExICsgYTIwICogYjEyO1xuICAgIG91dFs1XSA9IGEwMSAqIGIxMCArIGExMSAqIGIxMSArIGEyMSAqIGIxMjtcbiAgICBvdXRbNl0gPSBhMDIgKiBiMTAgKyBhMTIgKiBiMTEgKyBhMjIgKiBiMTI7XG4gICAgb3V0WzddID0gYTAzICogYjEwICsgYTEzICogYjExICsgYTIzICogYjEyO1xuICAgIG91dFs4XSA9IGEwMCAqIGIyMCArIGExMCAqIGIyMSArIGEyMCAqIGIyMjtcbiAgICBvdXRbOV0gPSBhMDEgKiBiMjAgKyBhMTEgKiBiMjEgKyBhMjEgKiBiMjI7XG4gICAgb3V0WzEwXSA9IGEwMiAqIGIyMCArIGExMiAqIGIyMSArIGEyMiAqIGIyMjtcbiAgICBvdXRbMTFdID0gYTAzICogYjIwICsgYTEzICogYjIxICsgYTIzICogYjIyO1xuXG4gICAgaWYgKGEgIT09IG91dCkgeyAvLyBJZiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBkaWZmZXIsIGNvcHkgdGhlIHVuY2hhbmdlZCBsYXN0IHJvd1xuICAgICAgICBvdXRbMTJdID0gYVsxMl07XG4gICAgICAgIG91dFsxM10gPSBhWzEzXTtcbiAgICAgICAgb3V0WzE0XSA9IGFbMTRdO1xuICAgICAgICBvdXRbMTVdID0gYVsxNV07XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG59OyIsIm1vZHVsZS5leHBvcnRzID0gcm90YXRlWDtcblxuLyoqXG4gKiBSb3RhdGVzIGEgbWF0cml4IGJ5IHRoZSBnaXZlbiBhbmdsZSBhcm91bmQgdGhlIFggYXhpc1xuICpcbiAqIEBwYXJhbSB7bWF0NH0gb3V0IHRoZSByZWNlaXZpbmcgbWF0cml4XG4gKiBAcGFyYW0ge21hdDR9IGEgdGhlIG1hdHJpeCB0byByb3RhdGVcbiAqIEBwYXJhbSB7TnVtYmVyfSByYWQgdGhlIGFuZ2xlIHRvIHJvdGF0ZSB0aGUgbWF0cml4IGJ5XG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIHJvdGF0ZVgob3V0LCBhLCByYWQpIHtcbiAgICB2YXIgcyA9IE1hdGguc2luKHJhZCksXG4gICAgICAgIGMgPSBNYXRoLmNvcyhyYWQpLFxuICAgICAgICBhMTAgPSBhWzRdLFxuICAgICAgICBhMTEgPSBhWzVdLFxuICAgICAgICBhMTIgPSBhWzZdLFxuICAgICAgICBhMTMgPSBhWzddLFxuICAgICAgICBhMjAgPSBhWzhdLFxuICAgICAgICBhMjEgPSBhWzldLFxuICAgICAgICBhMjIgPSBhWzEwXSxcbiAgICAgICAgYTIzID0gYVsxMV07XG5cbiAgICBpZiAoYSAhPT0gb3V0KSB7IC8vIElmIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGRpZmZlciwgY29weSB0aGUgdW5jaGFuZ2VkIHJvd3NcbiAgICAgICAgb3V0WzBdICA9IGFbMF07XG4gICAgICAgIG91dFsxXSAgPSBhWzFdO1xuICAgICAgICBvdXRbMl0gID0gYVsyXTtcbiAgICAgICAgb3V0WzNdICA9IGFbM107XG4gICAgICAgIG91dFsxMl0gPSBhWzEyXTtcbiAgICAgICAgb3V0WzEzXSA9IGFbMTNdO1xuICAgICAgICBvdXRbMTRdID0gYVsxNF07XG4gICAgICAgIG91dFsxNV0gPSBhWzE1XTtcbiAgICB9XG5cbiAgICAvLyBQZXJmb3JtIGF4aXMtc3BlY2lmaWMgbWF0cml4IG11bHRpcGxpY2F0aW9uXG4gICAgb3V0WzRdID0gYTEwICogYyArIGEyMCAqIHM7XG4gICAgb3V0WzVdID0gYTExICogYyArIGEyMSAqIHM7XG4gICAgb3V0WzZdID0gYTEyICogYyArIGEyMiAqIHM7XG4gICAgb3V0WzddID0gYTEzICogYyArIGEyMyAqIHM7XG4gICAgb3V0WzhdID0gYTIwICogYyAtIGExMCAqIHM7XG4gICAgb3V0WzldID0gYTIxICogYyAtIGExMSAqIHM7XG4gICAgb3V0WzEwXSA9IGEyMiAqIGMgLSBhMTIgKiBzO1xuICAgIG91dFsxMV0gPSBhMjMgKiBjIC0gYTEzICogcztcbiAgICByZXR1cm4gb3V0O1xufTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJvdGF0ZVk7XG5cbi8qKlxuICogUm90YXRlcyBhIG1hdHJpeCBieSB0aGUgZ2l2ZW4gYW5nbGUgYXJvdW5kIHRoZSBZIGF4aXNcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHBhcmFtIHttYXQ0fSBhIHRoZSBtYXRyaXggdG8gcm90YXRlXG4gKiBAcGFyYW0ge051bWJlcn0gcmFkIHRoZSBhbmdsZSB0byByb3RhdGUgdGhlIG1hdHJpeCBieVxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiByb3RhdGVZKG91dCwgYSwgcmFkKSB7XG4gICAgdmFyIHMgPSBNYXRoLnNpbihyYWQpLFxuICAgICAgICBjID0gTWF0aC5jb3MocmFkKSxcbiAgICAgICAgYTAwID0gYVswXSxcbiAgICAgICAgYTAxID0gYVsxXSxcbiAgICAgICAgYTAyID0gYVsyXSxcbiAgICAgICAgYTAzID0gYVszXSxcbiAgICAgICAgYTIwID0gYVs4XSxcbiAgICAgICAgYTIxID0gYVs5XSxcbiAgICAgICAgYTIyID0gYVsxMF0sXG4gICAgICAgIGEyMyA9IGFbMTFdO1xuXG4gICAgaWYgKGEgIT09IG91dCkgeyAvLyBJZiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBkaWZmZXIsIGNvcHkgdGhlIHVuY2hhbmdlZCByb3dzXG4gICAgICAgIG91dFs0XSAgPSBhWzRdO1xuICAgICAgICBvdXRbNV0gID0gYVs1XTtcbiAgICAgICAgb3V0WzZdICA9IGFbNl07XG4gICAgICAgIG91dFs3XSAgPSBhWzddO1xuICAgICAgICBvdXRbMTJdID0gYVsxMl07XG4gICAgICAgIG91dFsxM10gPSBhWzEzXTtcbiAgICAgICAgb3V0WzE0XSA9IGFbMTRdO1xuICAgICAgICBvdXRbMTVdID0gYVsxNV07XG4gICAgfVxuXG4gICAgLy8gUGVyZm9ybSBheGlzLXNwZWNpZmljIG1hdHJpeCBtdWx0aXBsaWNhdGlvblxuICAgIG91dFswXSA9IGEwMCAqIGMgLSBhMjAgKiBzO1xuICAgIG91dFsxXSA9IGEwMSAqIGMgLSBhMjEgKiBzO1xuICAgIG91dFsyXSA9IGEwMiAqIGMgLSBhMjIgKiBzO1xuICAgIG91dFszXSA9IGEwMyAqIGMgLSBhMjMgKiBzO1xuICAgIG91dFs4XSA9IGEwMCAqIHMgKyBhMjAgKiBjO1xuICAgIG91dFs5XSA9IGEwMSAqIHMgKyBhMjEgKiBjO1xuICAgIG91dFsxMF0gPSBhMDIgKiBzICsgYTIyICogYztcbiAgICBvdXRbMTFdID0gYTAzICogcyArIGEyMyAqIGM7XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSByb3RhdGVaO1xuXG4vKipcbiAqIFJvdGF0ZXMgYSBtYXRyaXggYnkgdGhlIGdpdmVuIGFuZ2xlIGFyb3VuZCB0aGUgWiBheGlzXG4gKlxuICogQHBhcmFtIHttYXQ0fSBvdXQgdGhlIHJlY2VpdmluZyBtYXRyaXhcbiAqIEBwYXJhbSB7bWF0NH0gYSB0aGUgbWF0cml4IHRvIHJvdGF0ZVxuICogQHBhcmFtIHtOdW1iZXJ9IHJhZCB0aGUgYW5nbGUgdG8gcm90YXRlIHRoZSBtYXRyaXggYnlcbiAqIEByZXR1cm5zIHttYXQ0fSBvdXRcbiAqL1xuZnVuY3Rpb24gcm90YXRlWihvdXQsIGEsIHJhZCkge1xuICAgIHZhciBzID0gTWF0aC5zaW4ocmFkKSxcbiAgICAgICAgYyA9IE1hdGguY29zKHJhZCksXG4gICAgICAgIGEwMCA9IGFbMF0sXG4gICAgICAgIGEwMSA9IGFbMV0sXG4gICAgICAgIGEwMiA9IGFbMl0sXG4gICAgICAgIGEwMyA9IGFbM10sXG4gICAgICAgIGExMCA9IGFbNF0sXG4gICAgICAgIGExMSA9IGFbNV0sXG4gICAgICAgIGExMiA9IGFbNl0sXG4gICAgICAgIGExMyA9IGFbN107XG5cbiAgICBpZiAoYSAhPT0gb3V0KSB7IC8vIElmIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGRpZmZlciwgY29weSB0aGUgdW5jaGFuZ2VkIGxhc3Qgcm93XG4gICAgICAgIG91dFs4XSAgPSBhWzhdO1xuICAgICAgICBvdXRbOV0gID0gYVs5XTtcbiAgICAgICAgb3V0WzEwXSA9IGFbMTBdO1xuICAgICAgICBvdXRbMTFdID0gYVsxMV07XG4gICAgICAgIG91dFsxMl0gPSBhWzEyXTtcbiAgICAgICAgb3V0WzEzXSA9IGFbMTNdO1xuICAgICAgICBvdXRbMTRdID0gYVsxNF07XG4gICAgICAgIG91dFsxNV0gPSBhWzE1XTtcbiAgICB9XG5cbiAgICAvLyBQZXJmb3JtIGF4aXMtc3BlY2lmaWMgbWF0cml4IG11bHRpcGxpY2F0aW9uXG4gICAgb3V0WzBdID0gYTAwICogYyArIGExMCAqIHM7XG4gICAgb3V0WzFdID0gYTAxICogYyArIGExMSAqIHM7XG4gICAgb3V0WzJdID0gYTAyICogYyArIGExMiAqIHM7XG4gICAgb3V0WzNdID0gYTAzICogYyArIGExMyAqIHM7XG4gICAgb3V0WzRdID0gYTEwICogYyAtIGEwMCAqIHM7XG4gICAgb3V0WzVdID0gYTExICogYyAtIGEwMSAqIHM7XG4gICAgb3V0WzZdID0gYTEyICogYyAtIGEwMiAqIHM7XG4gICAgb3V0WzddID0gYTEzICogYyAtIGEwMyAqIHM7XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBzY2FsZTtcblxuLyoqXG4gKiBTY2FsZXMgdGhlIG1hdDQgYnkgdGhlIGRpbWVuc2lvbnMgaW4gdGhlIGdpdmVuIHZlYzNcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHBhcmFtIHttYXQ0fSBhIHRoZSBtYXRyaXggdG8gc2NhbGVcbiAqIEBwYXJhbSB7dmVjM30gdiB0aGUgdmVjMyB0byBzY2FsZSB0aGUgbWF0cml4IGJ5XG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKiovXG5mdW5jdGlvbiBzY2FsZShvdXQsIGEsIHYpIHtcbiAgICB2YXIgeCA9IHZbMF0sIHkgPSB2WzFdLCB6ID0gdlsyXTtcblxuICAgIG91dFswXSA9IGFbMF0gKiB4O1xuICAgIG91dFsxXSA9IGFbMV0gKiB4O1xuICAgIG91dFsyXSA9IGFbMl0gKiB4O1xuICAgIG91dFszXSA9IGFbM10gKiB4O1xuICAgIG91dFs0XSA9IGFbNF0gKiB5O1xuICAgIG91dFs1XSA9IGFbNV0gKiB5O1xuICAgIG91dFs2XSA9IGFbNl0gKiB5O1xuICAgIG91dFs3XSA9IGFbN10gKiB5O1xuICAgIG91dFs4XSA9IGFbOF0gKiB6O1xuICAgIG91dFs5XSA9IGFbOV0gKiB6O1xuICAgIG91dFsxMF0gPSBhWzEwXSAqIHo7XG4gICAgb3V0WzExXSA9IGFbMTFdICogejtcbiAgICBvdXRbMTJdID0gYVsxMl07XG4gICAgb3V0WzEzXSA9IGFbMTNdO1xuICAgIG91dFsxNF0gPSBhWzE0XTtcbiAgICBvdXRbMTVdID0gYVsxNV07XG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSBzdHI7XG5cbi8qKlxuICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIG1hdDRcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG1hdCBtYXRyaXggdG8gcmVwcmVzZW50IGFzIGEgc3RyaW5nXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG1hdHJpeFxuICovXG5mdW5jdGlvbiBzdHIoYSkge1xuICAgIHJldHVybiAnbWF0NCgnICsgYVswXSArICcsICcgKyBhWzFdICsgJywgJyArIGFbMl0gKyAnLCAnICsgYVszXSArICcsICcgK1xuICAgICAgICAgICAgICAgICAgICBhWzRdICsgJywgJyArIGFbNV0gKyAnLCAnICsgYVs2XSArICcsICcgKyBhWzddICsgJywgJyArXG4gICAgICAgICAgICAgICAgICAgIGFbOF0gKyAnLCAnICsgYVs5XSArICcsICcgKyBhWzEwXSArICcsICcgKyBhWzExXSArICcsICcgKyBcbiAgICAgICAgICAgICAgICAgICAgYVsxMl0gKyAnLCAnICsgYVsxM10gKyAnLCAnICsgYVsxNF0gKyAnLCAnICsgYVsxNV0gKyAnKSc7XG59OyIsIm1vZHVsZS5leHBvcnRzID0gdHJhbnNsYXRlO1xuXG4vKipcbiAqIFRyYW5zbGF0ZSBhIG1hdDQgYnkgdGhlIGdpdmVuIHZlY3RvclxuICpcbiAqIEBwYXJhbSB7bWF0NH0gb3V0IHRoZSByZWNlaXZpbmcgbWF0cml4XG4gKiBAcGFyYW0ge21hdDR9IGEgdGhlIG1hdHJpeCB0byB0cmFuc2xhdGVcbiAqIEBwYXJhbSB7dmVjM30gdiB2ZWN0b3IgdG8gdHJhbnNsYXRlIGJ5XG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIHRyYW5zbGF0ZShvdXQsIGEsIHYpIHtcbiAgICB2YXIgeCA9IHZbMF0sIHkgPSB2WzFdLCB6ID0gdlsyXSxcbiAgICAgICAgYTAwLCBhMDEsIGEwMiwgYTAzLFxuICAgICAgICBhMTAsIGExMSwgYTEyLCBhMTMsXG4gICAgICAgIGEyMCwgYTIxLCBhMjIsIGEyMztcblxuICAgIGlmIChhID09PSBvdXQpIHtcbiAgICAgICAgb3V0WzEyXSA9IGFbMF0gKiB4ICsgYVs0XSAqIHkgKyBhWzhdICogeiArIGFbMTJdO1xuICAgICAgICBvdXRbMTNdID0gYVsxXSAqIHggKyBhWzVdICogeSArIGFbOV0gKiB6ICsgYVsxM107XG4gICAgICAgIG91dFsxNF0gPSBhWzJdICogeCArIGFbNl0gKiB5ICsgYVsxMF0gKiB6ICsgYVsxNF07XG4gICAgICAgIG91dFsxNV0gPSBhWzNdICogeCArIGFbN10gKiB5ICsgYVsxMV0gKiB6ICsgYVsxNV07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYTAwID0gYVswXTsgYTAxID0gYVsxXTsgYTAyID0gYVsyXTsgYTAzID0gYVszXTtcbiAgICAgICAgYTEwID0gYVs0XTsgYTExID0gYVs1XTsgYTEyID0gYVs2XTsgYTEzID0gYVs3XTtcbiAgICAgICAgYTIwID0gYVs4XTsgYTIxID0gYVs5XTsgYTIyID0gYVsxMF07IGEyMyA9IGFbMTFdO1xuXG4gICAgICAgIG91dFswXSA9IGEwMDsgb3V0WzFdID0gYTAxOyBvdXRbMl0gPSBhMDI7IG91dFszXSA9IGEwMztcbiAgICAgICAgb3V0WzRdID0gYTEwOyBvdXRbNV0gPSBhMTE7IG91dFs2XSA9IGExMjsgb3V0WzddID0gYTEzO1xuICAgICAgICBvdXRbOF0gPSBhMjA7IG91dFs5XSA9IGEyMTsgb3V0WzEwXSA9IGEyMjsgb3V0WzExXSA9IGEyMztcblxuICAgICAgICBvdXRbMTJdID0gYTAwICogeCArIGExMCAqIHkgKyBhMjAgKiB6ICsgYVsxMl07XG4gICAgICAgIG91dFsxM10gPSBhMDEgKiB4ICsgYTExICogeSArIGEyMSAqIHogKyBhWzEzXTtcbiAgICAgICAgb3V0WzE0XSA9IGEwMiAqIHggKyBhMTIgKiB5ICsgYTIyICogeiArIGFbMTRdO1xuICAgICAgICBvdXRbMTVdID0gYTAzICogeCArIGExMyAqIHkgKyBhMjMgKiB6ICsgYVsxNV07XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dDtcbn07IiwibW9kdWxlLmV4cG9ydHMgPSB0cmFuc3Bvc2U7XG5cbi8qKlxuICogVHJhbnNwb3NlIHRoZSB2YWx1ZXMgb2YgYSBtYXQ0XG4gKlxuICogQHBhcmFtIHttYXQ0fSBvdXQgdGhlIHJlY2VpdmluZyBtYXRyaXhcbiAqIEBwYXJhbSB7bWF0NH0gYSB0aGUgc291cmNlIG1hdHJpeFxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiB0cmFuc3Bvc2Uob3V0LCBhKSB7XG4gICAgLy8gSWYgd2UgYXJlIHRyYW5zcG9zaW5nIG91cnNlbHZlcyB3ZSBjYW4gc2tpcCBhIGZldyBzdGVwcyBidXQgaGF2ZSB0byBjYWNoZSBzb21lIHZhbHVlc1xuICAgIGlmIChvdXQgPT09IGEpIHtcbiAgICAgICAgdmFyIGEwMSA9IGFbMV0sIGEwMiA9IGFbMl0sIGEwMyA9IGFbM10sXG4gICAgICAgICAgICBhMTIgPSBhWzZdLCBhMTMgPSBhWzddLFxuICAgICAgICAgICAgYTIzID0gYVsxMV07XG5cbiAgICAgICAgb3V0WzFdID0gYVs0XTtcbiAgICAgICAgb3V0WzJdID0gYVs4XTtcbiAgICAgICAgb3V0WzNdID0gYVsxMl07XG4gICAgICAgIG91dFs0XSA9IGEwMTtcbiAgICAgICAgb3V0WzZdID0gYVs5XTtcbiAgICAgICAgb3V0WzddID0gYVsxM107XG4gICAgICAgIG91dFs4XSA9IGEwMjtcbiAgICAgICAgb3V0WzldID0gYTEyO1xuICAgICAgICBvdXRbMTFdID0gYVsxNF07XG4gICAgICAgIG91dFsxMl0gPSBhMDM7XG4gICAgICAgIG91dFsxM10gPSBhMTM7XG4gICAgICAgIG91dFsxNF0gPSBhMjM7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgb3V0WzBdID0gYVswXTtcbiAgICAgICAgb3V0WzFdID0gYVs0XTtcbiAgICAgICAgb3V0WzJdID0gYVs4XTtcbiAgICAgICAgb3V0WzNdID0gYVsxMl07XG4gICAgICAgIG91dFs0XSA9IGFbMV07XG4gICAgICAgIG91dFs1XSA9IGFbNV07XG4gICAgICAgIG91dFs2XSA9IGFbOV07XG4gICAgICAgIG91dFs3XSA9IGFbMTNdO1xuICAgICAgICBvdXRbOF0gPSBhWzJdO1xuICAgICAgICBvdXRbOV0gPSBhWzZdO1xuICAgICAgICBvdXRbMTBdID0gYVsxMF07XG4gICAgICAgIG91dFsxMV0gPSBhWzE0XTtcbiAgICAgICAgb3V0WzEyXSA9IGFbM107XG4gICAgICAgIG91dFsxM10gPSBhWzddO1xuICAgICAgICBvdXRbMTRdID0gYVsxMV07XG4gICAgICAgIG91dFsxNV0gPSBhWzE1XTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIG91dDtcbn07IiwiJ3VzZSBzdHJpY3QnXG5cbi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG5jb25zdCBtYXQ0ID0gcmVxdWlyZSgnZ2wtbWF0NCcpXG5cbi8qKlxuICogQ3JlYXRlcyBhIHJlZ2wgY29tbWFuZCB0aGF0IGRlZmluZXMgYSBtb2RlbFxuICogdW5pZm9ybSBtYXQ0LiBJdCBhbHNvIGV4cG9zZSBhIHRyYW5zZm9ybVxuICogbWF0cml4IHRoYXQgY2FuIGJlIGFjY2VwdGVkIGFzIGlucHV0IHRvIG90aGVyXG4gKiBtb2RlbCBkcmF3IGNvbW1hbmRzLiBBbiBleHBvc2VkIHRyYW5zZm9ybSBhbGxvd3NcbiAqIGZvciBhIGhpZXJhcmNoeSBvZiB0cmFuc2Zvcm1zIHRvIGJlIGFwcGxpZWQgdG8gbW9kZWxzLlxuICpcbiAqIEBwdWJsaWNcbiAqIEBwYXJhbSB7RnVuY3Rpb259IHJlZ2xcbiAqIEBwYXJhbSB7KE9iamVjdCk/fSBpbml0aWFsU3RhdGVcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufVxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlUkVHTE1vZGVsXG5mdW5jdGlvbiBjcmVhdGVSRUdMTW9kZWwocmVnbCwgaW5pdGlhbFN0YXRlKSB7XG4gIGlmICgnZnVuY3Rpb24nICE9IHR5cGVvZiByZWdsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGluZyByZWdsIHRvIGJlIGEgZnVuY3Rpb24uXCIpXG4gIH1cblxuICAvLyBnbG9iYWwgbWF0cml4XG4gIGNvbnN0IHRyYW5zZm9ybSA9IG1hdDQuaWRlbnRpdHkoW10pXG4gIGluaXRpYWxTdGF0ZSA9IGluaXRpYWxTdGF0ZSB8fCB7fVxuXG4gIC8vIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gIGNvbnN0IHJvdGF0aW9uID0gaW5pdGlhbFN0YXRlLnJvdGF0aW9uIHx8IFswLCAwLCAwLCAxXVxuICBjb25zdCBwb3NpdGlvbiA9IGluaXRpYWxTdGF0ZS5wb3NpdGlvbiB8fCBbMCwgMCwgMF1cbiAgY29uc3Qgc2NhbGUgPSBpbml0aWFsU3RhdGUuc2NhbGUgfHwgW11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBvc2l0aW9uLmxlbmd0aDsgKytpKSB7XG4gICAgaWYgKG51bGwgPT0gc2NhbGVbaV0pIHtcbiAgICAgIHNjYWxlW2ldID0gMVxuICAgIH1cbiAgfVxuXG4gIC8vIGluaXQgcmVnbCBkcmF3IGNvbW1hbmRcbiAgY29uc3QgZHJhdyA9IHJlZ2woe1xuICAgIGNvbnRleHQ6IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgICAgcm90YXRpb246IHJvdGF0aW9uLFxuICAgICAgcG9zaXRpb246IHBvc2l0aW9uLFxuICAgICAgc2NhbGU6IHNjYWxlLFxuICAgIH0sXG5cbiAgICB1bmlmb3Jtczoge1xuICAgICAgbW9kZWwoY3R4LCBwcm9wcykge1xuICAgICAgICBjb25zdCBtb2RlbCA9IFtdXG4gICAgICAgIG1hdDQuaWRlbnRpdHkobW9kZWwpXG5cbiAgICAgICAgaWYgKCdyb3RhdGlvbicgaW4gcHJvcHMpIHtcbiAgICAgICAgICByb3RhdGlvblswXSA9IHByb3BzLnJvdGF0aW9uWzBdIHx8IDBcbiAgICAgICAgICByb3RhdGlvblsxXSA9IHByb3BzLnJvdGF0aW9uWzFdIHx8IDBcbiAgICAgICAgICByb3RhdGlvblsyXSA9IHByb3BzLnJvdGF0aW9uWzJdIHx8IDBcbiAgICAgICAgICByb3RhdGlvblszXSA9IHByb3BzLnJvdGF0aW9uWzNdIHx8IDFcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgncG9zaXRpb24nIGluIHByb3BzKSB7XG4gICAgICAgICAgcG9zaXRpb25bMF0gPSBwcm9wcy5wb3NpdGlvblswXSB8fCAwXG4gICAgICAgICAgcG9zaXRpb25bMV0gPSBwcm9wcy5wb3NpdGlvblsxXSB8fCAwXG4gICAgICAgICAgOyhudWxsICE9IHByb3BzLnBvc2l0aW9uWzJdKSAmJiAocG9zaXRpb25bMl0gPSBwcm9wcy5wb3NpdGlvblsyXSB8fCAwKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdzY2FsZScgaW4gcHJvcHMpIHtcbiAgICAgICAgICBzY2FsZVswXSA9IHByb3BzLnNjYWxlWzBdIHx8IDBcbiAgICAgICAgICBzY2FsZVsxXSA9IHByb3BzLnNjYWxlWzFdIHx8IDBcbiAgICAgICAgICA7KG51bGwgIT0gcHJvcHMuc2NhbGVbMl0pICYmIChzY2FsZVsyXSA9IHByb3BzLnNjYWxlWzJdIHx8IDApXG4gICAgICAgIH1cblxuICAgICAgICA7KDMgPT0gcG9zaXRpb24ubGVuZ3RoKSAmJiBtYXQ0LnRyYW5zbGF0ZShtb2RlbCwgbW9kZWwsIHBvc2l0aW9uKVxuICAgICAgICBtYXQ0Lm11bHRpcGx5KG1vZGVsLCBtb2RlbCwgbWF0NC5mcm9tUXVhdChbXSwgcm90YXRpb24pKVxuICAgICAgICA7KDMgPT0gc2NhbGUubGVuZ3RoKSAmJiBtYXQ0LnNjYWxlKG1vZGVsLCBtb2RlbCwgc2NhbGUpXG4gICAgICAgIDsoJ3RyYW5zZm9ybScgaW4gcHJvcHMpICYmIG1hdDQubXVsdGlwbHkobW9kZWwsIHByb3BzLnRyYW5zZm9ybSwgbW9kZWwpXG4gICAgICAgIG1hdDQuY29weSh0cmFuc2Zvcm0sIG1vZGVsKVxuICAgICAgICByZXR1cm4gbW9kZWxcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oZHJhdywge1xuICAgIGdldCB0cmFuc2Zvcm0oKSB7IHJldHVybiB0cmFuc2Zvcm0gfSxcbiAgICBnZXQgcG9zaXRpb24oKSB7IHJldHVybiBwb3NpdGlvbiB9LFxuICAgIGdldCByb3RhdGlvbigpIHsgcmV0dXJuIHJvdGF0aW9uIH0sXG4gICAgZ2V0IHNjYWxlKCkgeyByZXR1cm4gc2NhbGUgfSxcbiAgfSlcbn1cbiJdfQ==
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
'use strict'
module.exports = angleNormals
function hypot(x, y, z) {
return Math.sqrt(Math.pow(x,2) + Math.pow(y,2) + Math.pow(z,2))
}
function weight(s, r, a) {
return Math.atan2(r, (s - a))
}
function mulAdd(dest, s, x, y, z) {
dest[0] += s * x
dest[1] += s * y
dest[2] += s * z
}
function angleNormals(cells, positions) {
var numVerts = positions.length
var numCells = cells.length
//Allocate normal array
var normals = new Array(numVerts)
for(var i=0; i<numVerts; ++i) {
normals[i] = [0,0,0]
}
//Scan cells, and
for(var i=0; i<numCells; ++i) {
var cell = cells[i]
var a = positions[cell[0]]
var b = positions[cell[1]]
var c = positions[cell[2]]
var abx = a[0] - b[0]
var aby = a[1] - b[1]
var abz = a[2] - b[2]
var ab = hypot(abx, aby, abz)
var bcx = b[0] - c[0]
var bcy = b[1] - c[1]
var bcz = b[2] - c[2]
var bc = hypot(bcx, bcy, bcz)
var cax = c[0] - a[0]
var cay = c[1] - a[1]
var caz = c[2] - a[2]
var ca = hypot(cax, cay, caz)
if(Math.min(ab, bc, ca) < 1e-6) {
continue
}
var s = 0.5 * (ab + bc + ca)
var r = Math.sqrt((s - ab)*(s - bc)*(s - ca)/s)
var nx = aby * bcz - abz * bcy
var ny = abz * bcx - abx * bcz
var nz = abx * bcy - aby * bcx
var nl = hypot(nx, ny, nz)
nx /= nl
ny /= nl
nz /= nl
mulAdd(normals[cell[0]], weight(s, r, bc), nx, ny, nz)
mulAdd(normals[cell[1]], weight(s, r, ca), nx, ny, nz)
mulAdd(normals[cell[2]], weight(s, r, ab), nx, ny, nz)
}
//Normalize all the normals
for(var i=0; i<numVerts; ++i) {
var n = normals[i]
var l = Math.sqrt(
Math.pow(n[0], 2) +
Math.pow(n[1], 2) +
Math.pow(n[2], 2))
if(l < 1e-8) {
n[0] = 1
n[1] = 0
n[2] = 0
continue
}
n[0] /= l
n[1] /= l
n[2] /= l
}
return normals
}
},{}],"regl-primitive":[function(require,module,exports){
'use strict'
/**
* Module dependencies.
*/
const normals = require('angle-normals')
const isArray = Array.isArray
function isArrayLike(x) {
return isArray(x) || x.length
}
function TypeExpectationError(what, type, input) {
return new TypeError('Expecting '+what+' to be a '+type+'. Got '+ typeof input)
}
/**
* Creates a regl draw command from a simplicial complex
* with optional attributes.
*
* @public
* @default
* @param {Function} regl
* @param {Object} complex
* @param {Object?} configuration
*/
module.exports = createREGLPrimitive
function createREGLPrimitive(regl, complex, configuration) {
if (!regl || 'function' != typeof regl) {
throw TypeExpectationError('regl', 'function', regl)
}
if (!complex || 'object' != typeof complex) {
throw TypeExpectationError('complex', 'object', complex)
}
if (configuration && 'object' != typeof configuration) {
throw TypeExpectationError('configuration', 'object', configuration)
}
if (false == isArrayLike(complex.positions)) {
throw TypeExpectationError('complex.positions', 'array', complex.positions)
}
if (complex.normals && false == isArrayLike(complex.normals)) {
throw TypeExpectationError('complex.normals', 'array', complex.normals)
}
if (complex.cells && false == isArrayLike(complex.cells)) {
throw TypeExpectationError('complex.cells', 'array', complex.cells)
}
if (complex.uvs && false == isArrayLike(complex.uvs)) {
throw TypeExpectationError('complex.uvs', 'array', complex.uvs)
}
// initial regl draw command state derived from
// optional input configuration
const state = Object.assign({attributes: {}}, configuration)
// derive normals if not given
if (null == complex.normals && complex.cells) {
complex.normals = normals(complex.cells, complex.positions)
}
// attribute setter helper
function attribute(k, x) {
if (x) { state.attributes[k] = x }
}
// sets regl draw command attributes
attribute('position', complex.positions)
attribute('normal', complex.normals)
attribute('uv', complex.uvs || complex.positions.map((v) => ([v[0], v[1]])))
if (complex.cells && complex.cells.length) {
state.elements = complex.cells
}
if (null == state.count && null == state.elements) {
state.count = complex.positions.length
}
return regl(state)
}
},{"angle-normals":1}]},{},[])
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsIm5vZGVfbW9kdWxlcy9hbmdsZS1ub3JtYWxzL2FuZ2xlLW5vcm1hbHMuanMiLCJzcmMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMxRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiJ3VzZSBzdHJpY3QnXG5cbm1vZHVsZS5leHBvcnRzID0gYW5nbGVOb3JtYWxzXG5cbmZ1bmN0aW9uIGh5cG90KHgsIHksIHopIHtcbiAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh4LDIpICsgTWF0aC5wb3coeSwyKSArIE1hdGgucG93KHosMikpXG59XG5cbmZ1bmN0aW9uIHdlaWdodChzLCByLCBhKSB7XG4gIHJldHVybiBNYXRoLmF0YW4yKHIsIChzIC0gYSkpXG59XG5cbmZ1bmN0aW9uIG11bEFkZChkZXN0LCBzLCB4LCB5LCB6KSB7XG4gIGRlc3RbMF0gKz0gcyAqIHhcbiAgZGVzdFsxXSArPSBzICogeVxuICBkZXN0WzJdICs9IHMgKiB6XG59XG5cbmZ1bmN0aW9uIGFuZ2xlTm9ybWFscyhjZWxscywgcG9zaXRpb25zKSB7XG4gIHZhciBudW1WZXJ0cyA9IHBvc2l0aW9ucy5sZW5ndGhcbiAgdmFyIG51bUNlbGxzID0gY2VsbHMubGVuZ3RoXG5cbiAgLy9BbGxvY2F0ZSBub3JtYWwgYXJyYXlcbiAgdmFyIG5vcm1hbHMgPSBuZXcgQXJyYXkobnVtVmVydHMpXG4gIGZvcih2YXIgaT0wOyBpPG51bVZlcnRzOyArK2kpIHtcbiAgICBub3JtYWxzW2ldID0gWzAsMCwwXVxuICB9XG5cbiAgLy9TY2FuIGNlbGxzLCBhbmRcbiAgZm9yKHZhciBpPTA7IGk8bnVtQ2VsbHM7ICsraSkge1xuICAgIHZhciBjZWxsID0gY2VsbHNbaV1cbiAgICB2YXIgYSA9IHBvc2l0aW9uc1tjZWxsWzBdXVxuICAgIHZhciBiID0gcG9zaXRpb25zW2NlbGxbMV1dXG4gICAgdmFyIGMgPSBwb3NpdGlvbnNbY2VsbFsyXV1cblxuICAgIHZhciBhYnggPSBhWzBdIC0gYlswXVxuICAgIHZhciBhYnkgPSBhWzFdIC0gYlsxXVxuICAgIHZhciBhYnogPSBhWzJdIC0gYlsyXVxuICAgIHZhciBhYiA9IGh5cG90KGFieCwgYWJ5LCBhYnopXG5cbiAgICB2YXIgYmN4ID0gYlswXSAtIGNbMF1cbiAgICB2YXIgYmN5ID0gYlsxXSAtIGNbMV1cbiAgICB2YXIgYmN6ID0gYlsyXSAtIGNbMl1cbiAgICB2YXIgYmMgPSBoeXBvdChiY3gsIGJjeSwgYmN6KVxuXG4gICAgdmFyIGNheCA9IGNbMF0gLSBhWzBdXG4gICAgdmFyIGNheSA9IGNbMV0gLSBhWzFdXG4gICAgdmFyIGNheiA9IGNbMl0gLSBhWzJdXG4gICAgdmFyIGNhID0gaHlwb3QoY2F4LCBjYXksIGNheilcblxuICAgIGlmKE1hdGgubWluKGFiLCBiYywgY2EpIDwgMWUtNikge1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICB2YXIgcyA9IDAuNSAqIChhYiArIGJjICsgY2EpXG4gICAgdmFyIHIgPSBNYXRoLnNxcnQoKHMgLSBhYikqKHMgLSBiYykqKHMgLSBjYSkvcylcblxuICAgIHZhciBueCA9IGFieSAqIGJjeiAtIGFieiAqIGJjeVxuICAgIHZhciBueSA9IGFieiAqIGJjeCAtIGFieCAqIGJjelxuICAgIHZhciBueiA9IGFieCAqIGJjeSAtIGFieSAqIGJjeFxuICAgIHZhciBubCA9IGh5cG90KG54LCBueSwgbnopXG4gICAgbnggLz0gbmxcbiAgICBueSAvPSBubFxuICAgIG56IC89IG5sXG5cbiAgICBtdWxBZGQobm9ybWFsc1tjZWxsWzBdXSwgd2VpZ2h0KHMsIHIsIGJjKSwgbngsIG55LCBueilcbiAgICBtdWxBZGQobm9ybWFsc1tjZWxsWzFdXSwgd2VpZ2h0KHMsIHIsIGNhKSwgbngsIG55LCBueilcbiAgICBtdWxBZGQobm9ybWFsc1tjZWxsWzJdXSwgd2VpZ2h0KHMsIHIsIGFiKSwgbngsIG55LCBueilcbiAgfVxuXG4gIC8vTm9ybWFsaXplIGFsbCB0aGUgbm9ybWFsc1xuICBmb3IodmFyIGk9MDsgaTxudW1WZXJ0czsgKytpKSB7XG4gICAgdmFyIG4gPSBub3JtYWxzW2ldXG4gICAgdmFyIGwgPSBNYXRoLnNxcnQoXG4gICAgICBNYXRoLnBvdyhuWzBdLCAyKSArXG4gICAgICBNYXRoLnBvdyhuWzFdLCAyKSArXG4gICAgICBNYXRoLnBvdyhuWzJdLCAyKSlcbiAgICBpZihsIDwgMWUtOCkge1xuICAgICAgblswXSA9IDFcbiAgICAgIG5bMV0gPSAwXG4gICAgICBuWzJdID0gMFxuICAgICAgY29udGludWVcbiAgICB9XG4gICAgblswXSAvPSBsXG4gICAgblsxXSAvPSBsXG4gICAgblsyXSAvPSBsXG4gIH1cblxuICByZXR1cm4gbm9ybWFsc1xufVxuIiwiJ3VzZSBzdHJpY3QnXG5cbi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG5jb25zdCBub3JtYWxzID0gcmVxdWlyZSgnYW5nbGUtbm9ybWFscycpXG5jb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5mdW5jdGlvbiBpc0FycmF5TGlrZSh4KSB7XG4gIHJldHVybiBpc0FycmF5KHgpIHx8IHgubGVuZ3RoXG59XG5cbmZ1bmN0aW9uIFR5cGVFeHBlY3RhdGlvbkVycm9yKHdoYXQsIHR5cGUsIGlucHV0KSB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKCdFeHBlY3RpbmcgJyt3aGF0KycgdG8gYmUgYSAnK3R5cGUrJy4gR290ICcrIHR5cGVvZiBpbnB1dClcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcmVnbCBkcmF3IGNvbW1hbmQgZnJvbSBhIHNpbXBsaWNpYWwgY29tcGxleFxuICogd2l0aCBvcHRpb25hbCBhdHRyaWJ1dGVzLlxuICpcbiAqIEBwdWJsaWNcbiAqIEBkZWZhdWx0XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWdsXG4gKiBAcGFyYW0ge09iamVjdH0gY29tcGxleFxuICogQHBhcmFtIHtPYmplY3Q/fSBjb25maWd1cmF0aW9uXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVSRUdMUHJpbWl0aXZlXG5mdW5jdGlvbiBjcmVhdGVSRUdMUHJpbWl0aXZlKHJlZ2wsIGNvbXBsZXgsIGNvbmZpZ3VyYXRpb24pIHtcbiAgaWYgKCFyZWdsIHx8ICdmdW5jdGlvbicgIT0gdHlwZW9mIHJlZ2wpIHtcbiAgICB0aHJvdyBUeXBlRXhwZWN0YXRpb25FcnJvcigncmVnbCcsICdmdW5jdGlvbicsIHJlZ2wpXG4gIH1cblxuICBpZiAoIWNvbXBsZXggfHwgJ29iamVjdCcgIT0gdHlwZW9mIGNvbXBsZXgpIHtcbiAgICB0aHJvdyBUeXBlRXhwZWN0YXRpb25FcnJvcignY29tcGxleCcsICdvYmplY3QnLCBjb21wbGV4KVxuICB9XG5cbiAgaWYgKGNvbmZpZ3VyYXRpb24gJiYgJ29iamVjdCcgIT0gdHlwZW9mIGNvbmZpZ3VyYXRpb24pIHtcbiAgICB0aHJvdyBUeXBlRXhwZWN0YXRpb25FcnJvcignY29uZmlndXJhdGlvbicsICdvYmplY3QnLCBjb25maWd1cmF0aW9uKVxuICB9XG5cbiAgaWYgKGZhbHNlID09IGlzQXJyYXlMaWtlKGNvbXBsZXgucG9zaXRpb25zKSkge1xuICAgIHRocm93IFR5cGVFeHBlY3RhdGlvbkVycm9yKCdjb21wbGV4LnBvc2l0aW9ucycsICdhcnJheScsIGNvbXBsZXgucG9zaXRpb25zKVxuICB9XG5cbiAgaWYgKGNvbXBsZXgubm9ybWFscyAmJiBmYWxzZSA9PSBpc0FycmF5TGlrZShjb21wbGV4Lm5vcm1hbHMpKSB7XG4gICAgdGhyb3cgVHlwZUV4cGVjdGF0aW9uRXJyb3IoJ2NvbXBsZXgubm9ybWFscycsICdhcnJheScsIGNvbXBsZXgubm9ybWFscylcbiAgfVxuXG4gIGlmIChjb21wbGV4LmNlbGxzICYmIGZhbHNlID09IGlzQXJyYXlMaWtlKGNvbXBsZXguY2VsbHMpKSB7XG4gICAgdGhyb3cgVHlwZUV4cGVjdGF0aW9uRXJyb3IoJ2NvbXBsZXguY2VsbHMnLCAnYXJyYXknLCBjb21wbGV4LmNlbGxzKVxuICB9XG5cbiAgaWYgKGNvbXBsZXgudXZzICYmIGZhbHNlID09IGlzQXJyYXlMaWtlKGNvbXBsZXgudXZzKSkge1xuICAgIHRocm93IFR5cGVFeHBlY3RhdGlvbkVycm9yKCdjb21wbGV4LnV2cycsICdhcnJheScsIGNvbXBsZXgudXZzKVxuICB9XG5cbiAgLy8gaW5pdGlhbCByZWdsIGRyYXcgY29tbWFuZCBzdGF0ZSBkZXJpdmVkIGZyb21cbiAgLy8gb3B0aW9uYWwgaW5wdXQgY29uZmlndXJhdGlvblxuICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe2F0dHJpYnV0ZXM6IHt9fSwgY29uZmlndXJhdGlvbilcblxuICAvLyBkZXJpdmUgbm9ybWFscyBpZiBub3QgZ2l2ZW5cbiAgaWYgKG51bGwgPT0gY29tcGxleC5ub3JtYWxzICYmIGNvbXBsZXguY2VsbHMpIHtcbiAgICBjb21wbGV4Lm5vcm1hbHMgPSBub3JtYWxzKGNvbXBsZXguY2VsbHMsIGNvbXBsZXgucG9zaXRpb25zKVxuICB9XG5cbiAgLy8gYXR0cmlidXRlIHNldHRlciBoZWxwZXJcbiAgZnVuY3Rpb24gYXR0cmlidXRlKGssIHgpIHtcbiAgICBpZiAoeCkgeyBzdGF0ZS5hdHRyaWJ1dGVzW2tdID0geCB9XG4gIH1cblxuICAvLyBzZXRzIHJlZ2wgZHJhdyBjb21tYW5kIGF0dHJpYnV0ZXNcbiAgYXR0cmlidXRlKCdwb3NpdGlvbicsIGNvbXBsZXgucG9zaXRpb25zKVxuICBhdHRyaWJ1dGUoJ25vcm1hbCcsIGNvbXBsZXgubm9ybWFscylcbiAgYXR0cmlidXRlKCd1dicsIGNvbXBsZXgudXZzIHx8IGNvbXBsZXgucG9zaXRpb25zLm1hcCgodikgPT4gKFt2WzBdLCB2WzFdXSkpKVxuXG4gIGlmIChjb21wbGV4LmNlbGxzICYmIGNvbXBsZXguY2VsbHMubGVuZ3RoKSB7XG4gICAgc3RhdGUuZWxlbWVudHMgPSBjb21wbGV4LmNlbGxzXG4gIH1cblxuICBpZiAobnVsbCA9PSBzdGF0ZS5jb3VudCAmJiBudWxsID09IHN0YXRlLmVsZW1lbnRzKSB7XG4gICAgc3RhdGUuY291bnQgPSBjb21wbGV4LnBvc2l0aW9ucy5sZW5ndGhcbiAgfVxuXG4gIHJldHVybiByZWdsKHN0YXRlKVxufVxuIl19
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"bunny":[function(require,module,exports){
exports.positions=[[1.301895,0.122622,2.550061],[1.045326,0.139058,2.835156],[0.569251,0.155925,2.805125],[0.251886,0.144145,2.82928],[0.063033,0.131726,3.01408],[-0.277753,0.135892,3.10716],[-0.441048,0.277064,2.594331],[-1.010956,0.095285,2.668983],[-1.317639,0.069897,2.325448],[-0.751691,0.264681,2.381496],[0.684137,0.31134,2.364574],[1.347931,0.302882,2.201434],[-1.736903,0.029894,1.724111],[-1.319986,0.11998,0.912925],[1.538077,0.157372,0.481711],[1.951975,0.081742,1.1641],[1.834768,0.095832,1.602682],[2.446122,0.091817,1.37558],[2.617615,0.078644,0.742801],[-1.609748,0.04973,-0.238721],[-1.281973,0.230984,-0.180916],[-1.074501,0.248204,0.034007],[-1.201734,0.058499,0.402234],[-1.444454,0.054783,0.149579],[-4.694605,5.075882,1.043427],[-3.95963,7.767394,0.758447],[-4.753339,5.339817,0.665061],[-1.150325,9.133327,-0.368552],[-4.316107,2.893611,0.44399],[-0.809202,9.312575,-0.466061],[0.085626,5.963693,1.685666],[-1.314853,9.00142,-0.1339],[-4.364182,3.072556,1.436712],[-2.022074,7.323396,0.678657],[1.990887,6.13023,0.479643],[-3.295525,7.878917,1.409353],[0.571308,6.197569,0.670657],[0.89661,6.20018,0.337056],[0.331851,6.162372,1.186371],[-4.840066,5.599874,2.296069],[2.138989,6.031291,0.228335],[0.678923,6.026173,1.894052],[-0.781682,5.601573,1.836738],[1.181315,6.239007,0.393293],[-3.606308,7.376476,2.661452],[-0.579059,4.042511,-1.540883],[-3.064069,8.630253,-2.597539],[-2.157271,6.837012,0.300191],[-2.966013,7.821581,-1.13697],[-2.34426,8.122965,0.409043],[-0.951684,5.874251,1.415119],[-2.834853,7.748319,0.182406],[-3.242493,7.820096,0.373674],[-0.208532,5.992846,1.252084],[-3.048085,8.431527,-2.129795],[1.413245,5.806324,2.243906],[-0.051222,6.064901,0.696093],[-4.204306,2.700062,0.713875],[-4.610997,6.343405,0.344272],[-3.291336,9.30531,-3.340445],[-3.27211,7.559239,-2.324016],[-4.23882,6.498344,3.18452],[-3.945317,6.377804,3.38625],[-4.906378,5.472265,1.315193],[-3.580131,7.846717,0.709666],[-1.995504,6.645459,0.688487],[-2.595651,7.86054,0.793351],[-0.008849,0.305871,0.184484],[-0.029011,0.314116,-0.257312],[-2.522424,7.565392,1.804212],[-1.022993,8.650826,-0.855609],[-3.831265,6.595426,3.266783],[-4.042525,6.855724,3.060663],[-4.17126,7.404742,2.391387],[3.904526,3.767693,0.092179],[0.268076,6.086802,1.469223],[-3.320456,8.753222,-2.08969],[1.203048,6.26925,0.612407],[-4.406479,2.985974,0.853691],[-3.226889,6.615215,-0.404243],[0.346326,1.60211,3.509858],[-3.955476,7.253323,2.722392],[-1.23204,0.068935,1.68794],[0.625436,6.196455,1.333156],[4.469132,2.165298,1.70525],[0.950053,6.262899,0.922441],[-2.980404,5.25474,-0.663155],[-4.859043,6.28741,1.537081],[-3.077453,4.641475,-0.892167],[-0.44002,8.222503,-0.771454],[-4.034112,7.639786,0.389935],[-3.696045,6.242042,3.394679],[-1.221806,7.783617,0.196451],[0.71461,6.149895,1.656636],[-4.713539,6.163154,0.495369],[-1.509869,0.913044,-0.832413],[-1.547249,2.066753,-0.852669],[-3.757734,5.793742,3.455794],[-0.831911,0.199296,1.718536],[-3.062763,7.52718,-1.550559],[0.938688,6.103354,1.820958],[-4.037033,2.412311,0.988026],[-4.130746,2.571806,1.101689],[-0.693664,9.174283,-0.952323],[-1.286742,1.079679,-0.751219],[1.543185,1.408925,3.483132],[1.535973,2.047979,3.655029],[0.93844,5.84101,2.195219],[-0.684401,5.918492,1.20109],[1.28844,2.008676,3.710781],[-3.586722,7.435506,-1.454737],[-0.129975,4.384192,2.930593],[-1.030531,0.281374,3.214273],[-3.058751,8.137238,-3.227714],[3.649524,4.592226,1.340021],[-3.354828,7.322425,-1.412086],[0.936449,6.209237,1.512693],[-1.001832,3.590411,-1.545892],[-3.770486,4.593242,2.477056],[-0.971925,0.067797,0.921384],[-4.639832,6.865407,2.311791],[-0.441014,8.093595,-0.595999],[-2.004852,6.37142,1.635383],[4.759591,1.92818,0.328328],[3.748064,1.224074,2.140484],[-0.703601,5.285476,2.251988],[0.59532,6.21893,0.981004],[0.980799,6.257026,1.24223],[1.574697,6.204981,0.381628],[1.149594,6.173608,1.660763],[-3.501963,5.895989,3.456576],[1.071122,5.424198,2.588717],[-0.774693,8.473335,-0.276957],[3.849959,4.15542,0.396742],[-0.801715,4.973149,-1.068582],[-2.927676,0.625112,2.326393],[2.669682,4.045542,2.971184],[-4.391324,4.74086,0.343463],[1.520129,6.270031,0.775471],[1.837586,6.084731,0.109188],[1.271475,5.975024,2.032355],[-3.487968,4.513249,2.605871],[-1.32234,1.517264,-0.691879],[-1.080301,1.648226,-0.805526],[-3.365703,6.910166,-0.454902],[1.36034,0.432238,3.075004],[-3.305013,5.774685,3.39142],[3.88432,0.654141,0.12574],[3.57254,0.377934,0.302501],[4.196136,0.807999,0.212229],[3.932997,0.543123,0.380579],[4.023704,3.286125,0.537597],[1.864455,4.916544,2.691677],[-4.775427,6.499498,1.440153],[-3.464928,3.68234,2.766356],[3.648972,1.751262,2.157485],[1.179111,3.238846,3.774796],[-0.171164,0.299126,-0.592669],[-4.502912,3.316656,0.875188],[-0.948454,9.214025,-0.679508],[1.237665,6.288593,1.046],[1.523423,6.268963,1.139544],[1.436519,6.140608,1.739316],[3.723607,1.504355,2.136762],[2.009495,4.045514,3.22053],[-1.921944,7.249905,0.213973],[1.254068,1.205518,3.474709],[-0.317087,5.996269,0.525872],[-2.996914,3.934607,2.900178],[-3.316873,4.028154,2.785696],[-3.400267,4.280157,2.689268],[-3.134842,4.564875,2.697192],[1.480563,4.692567,2.834068],[0.873682,1.315452,3.541585],[1.599355,0.91622,3.246769],[-3.292102,7.125914,2.768515],[3.74296,4.511299,0.616539],[4.698935,1.55336,0.26921],[-3.274387,3.299421,2.823946],[-2.88809,3.410699,2.955248],[1.171407,1.76905,3.688472],[1.430276,3.92483,3.473666],[3.916941,2.553308,0.018941],[0.701632,2.442372,3.778639],[1.562657,2.302778,3.660957],[4.476622,1.152407,0.182131],[-0.61136,5.761367,1.598838],[-3.102154,3.691687,2.903738],[1.816012,5.546167,2.380308],[3.853928,4.25066,0.750017],[1.234681,3.581665,3.673723],[1.862271,1.361863,3.355209],[1.346844,4.146995,3.327877],[1.70672,4.080043,3.274307],[0.897242,1.908983,3.6969],[-0.587022,9.191132,-0.565301],[-0.217426,5.674606,2.019968],[0.278925,6.120777,0.485403],[1.463328,3.578742,-2.001464],[-3.072985,4.264581,2.789502],[3.62353,4.673843,0.383452],[-3.053491,8.752377,-2.908434],[-2.628687,4.505072,2.755601],[0.891047,5.113781,2.748272],[-2.923732,3.06515,2.866368],[0.848008,4.754252,2.896972],[-3.319184,8.811641,-2.327412],[0.12864,8.814781,-1.334456],[1.549501,4.549331,-1.28243],[1.647161,3.738973,3.507719],[1.250888,0.945599,3.348739],[3.809662,4.038822,0.053142],[1.483166,0.673327,3.09156],[0.829726,3.635921,3.713103],[1.352914,5.226651,2.668113],[2.237352,4.37414,3.016386],[4.507929,0.889447,0.744249],[4.57304,1.010981,0.496588],[3.931422,1.720989,2.088175],[-0.463177,5.989835,0.834346],[-2.811236,3.745023,2.969587],[-2.805135,4.219721,2.841108],[-2.836842,4.802543,2.60826],[1.776716,2.084611,3.568638],[4.046881,1.463478,2.106273],[0.316265,5.944313,1.892785],[-2.86347,2.776049,2.77242],[-2.673644,3.116508,2.907104],[-2.621149,4.018502,2.903409],[-2.573447,5.198013,2.477481],[1.104039,2.278985,3.722469],[-4.602743,4.306413,0.902296],[-2.684878,1.510731,0.535039],[0.092036,8.473269,-0.99413],[-1.280472,5.602393,1.928105],[-1.0279,4.121582,-1.403103],[-2.461081,3.304477,2.957317],[-2.375929,3.659383,2.953233],[1.417579,2.715389,3.718767],[0.819727,2.948823,3.810639],[1.329962,0.761779,3.203724],[1.73952,5.295229,2.537725],[0.952523,3.945016,3.548229],[-2.569498,0.633669,2.84818],[-2.276676,0.757013,2.780717],[-2.013147,7.354429,-0.003202],[0.93143,1.565913,3.600325],[1.249014,1.550556,3.585842],[2.287252,4.072353,3.124544],[-4.7349,7.006244,1.690653],[-3.500602,8.80386,-2.009196],[-0.582629,5.549138,2.000923],[-1.865297,6.356066,1.313593],[-3.212154,2.376143,-0.565593],[2.092889,3.493536,-1.727931],[-2.528501,2.784531,2.833758],[-2.565697,4.893154,2.559605],[-2.153366,5.04584,2.465215],[1.631311,2.568241,3.681445],[2.150193,4.699227,2.807505],[0.507599,5.01813,2.775892],[4.129862,1.863698,2.015101],[3.578279,4.50766,-0.009598],[3.491023,4.806749,1.549265],[0.619485,1.625336,3.605125],[1.107499,2.932557,3.790061],[-2.082292,6.99321,0.742601],[4.839909,1.379279,0.945274],[3.591328,4.322645,-0.259497],[1.055245,0.710686,3.16553],[-3.026494,7.842227,1.624553],[0.146569,6.119214,0.981673],[-2.043687,2.614509,2.785526],[-2.302242,3.047775,2.936355],[-2.245686,4.100424,2.87794],[2.116148,5.063507,2.572204],[-1.448406,7.64559,0.251692],[2.550717,4.9268,2.517526],[-2.955456,7.80293,-1.782407],[1.882995,4.637167,2.895436],[-2.014924,3.398262,2.954896],[-2.273654,4.771227,2.611418],[-2.162723,7.876761,0.702473],[-0.198659,5.823062,1.739272],[-1.280908,2.133189,-0.921241],[2.039932,4.251568,3.136579],[1.477815,4.354333,3.108325],[0.560504,3.744128,3.6913],[-2.234018,1.054373,2.352782],[-3.189156,7.686661,-2.514955],[-3.744736,7.69963,2.116973],[-2.283366,2.878365,2.87882],[-2.153786,4.457481,2.743529],[4.933978,1.677287,0.713773],[3.502146,0.535336,1.752511],[1.825169,4.419253,3.081198],[3.072331,0.280979,0.106534],[-0.508381,1.220392,2.878049],[-3.138824,8.445394,-1.659711],[-2.056425,2.954815,2.897241],[-2.035343,5.398477,2.215842],[-3.239915,7.126798,-0.712547],[-1.867923,7.989805,0.526518],[1.23405,6.248973,1.387189],[-0.216492,8.320933,-0.862495],[-2.079659,3.755709,2.928563],[-1.78595,4.300374,2.805295],[-1.856589,5.10678,2.386572],[-1.714362,5.544778,2.004623],[1.722403,4.200291,-1.408161],[0.195386,0.086928,-1.318006],[1.393693,3.013404,3.710686],[-0.415307,8.508471,-0.996883],[-1.853777,0.755635,2.757275],[-1.724057,3.64533,2.884251],[-1.884511,4.927802,2.530885],[-1.017174,7.783908,-0.227078],[-1.7798,2.342513,2.741749],[-1.841329,3.943996,2.88436],[1.430388,5.468067,2.503467],[-2.030296,0.940028,2.611088],[-1.677028,1.215666,2.607771],[-1.74092,2.832564,2.827295],[4.144673,0.631374,0.503358],[4.238811,0.653992,0.762436],[-1.847016,2.082815,2.642674],[4.045764,3.194073,0.852117],[-1.563989,8.112739,0.303102],[-1.781627,1.794836,2.602338],[-1.493749,2.533799,2.797251],[-1.934496,4.690689,2.658999],[-1.499174,5.777946,1.747498],[-2.387409,0.851291,1.500524],[-1.872211,8.269987,0.392533],[-4.647726,6.765771,0.833653],[-3.157482,0.341958,-0.20671],[-1.725766,3.24703,2.883579],[-1.458199,4.079031,2.836325],[-1.621548,4.515869,2.719266],[-1.607292,4.918914,2.505881],[-1.494661,5.556239,1.991599],[-1.727269,7.423769,0.012337],[-1.382497,1.161322,2.640222],[-1.52129,4.681714,2.615467],[-4.247127,2.792812,1.250843],[-1.576338,0.742947,2.769799],[-1.499257,2.172763,2.743142],[-1.480392,3.103261,2.862262],[1.049137,2.625836,3.775384],[-1.368063,1.791587,2.695516],[-1.307839,2.344534,2.767575],[-1.336758,5.092221,2.355225],[-1.5617,5.301749,2.21625],[-1.483362,8.537704,0.196752],[-1.517348,8.773614,0.074053],[-1.474302,1.492731,2.641433],[2.48718,0.644247,-0.920226],[0.818091,0.422682,3.171218],[-3.623398,6.930094,3.033045],[1.676333,3.531039,3.591591],[1.199939,5.683873,2.365623],[-1.223851,8.841201,0.025414],[-1.286307,3.847643,2.918044],[-1.25857,4.810831,2.543605],[2.603662,5.572146,1.991854],[0.138984,5.779724,2.077834],[-1.267039,3.175169,2.890889],[-1.293616,3.454612,2.911774],[-2.60112,1.277184,0.07724],[2.552779,3.649877,3.163643],[-1.038983,1.248011,2.605933],[-1.288709,4.390967,2.761214],[-1.034218,5.485963,2.011467],[-1.185576,1.464842,2.624335],[-1.045682,2.54896,2.761102],[4.259176,1.660627,2.018096],[-0.961707,1.717183,2.598342],[-1.044603,3.147464,2.855335],[-0.891998,4.685429,2.669696],[-1.027561,5.081672,2.377939],[4.386506,0.832434,0.510074],[-1.014225,9.064991,-0.175352],[-1.218752,2.895443,2.823785],[-0.972075,4.432669,2.788005],[-2.714986,0.52425,1.509798],[-0.699248,1.517219,2.645738],[-1.161581,2.078852,2.722795],[-0.845249,3.286247,2.996471],[1.068329,4.443444,2.993863],[3.98132,3.715557,1.027775],[1.658097,3.982428,-1.651688],[-4.053701,2.449888,0.734746],[-0.910935,2.214149,2.702393],[0.087824,3.96165,3.439344],[-0.779714,3.724134,2.993429],[-1.051093,3.810797,2.941957],[-0.644941,4.3859,2.870863],[-2.98403,8.666895,-3.691888],[-0.754304,2.508325,2.812999],[-4.635524,3.662891,0.913005],[-0.983299,4.125978,2.915378],[4.916497,1.905209,0.621315],[4.874983,1.728429,0.468521],[2.33127,5.181957,2.441697],[-0.653711,2.253387,2.7949],[-3.623744,8.978795,-2.46192],[-4.555927,6.160279,0.215755],[-4.940628,5.806712,1.18383],[3.308506,2.40326,-0.910776],[0.58835,5.251928,-0.992886],[2.152215,5.449733,2.331679],[-0.712755,0.766765,3.280375],[-0.741771,1.9716,2.657235],[-4.828957,5.566946,2.635623],[-3.474788,8.696771,-1.776121],[1.770417,6.205561,1.331627],[-0.620626,4.064721,2.968972],[-1.499187,2.307735,-0.978901],[4.098793,2.330245,1.667951],[1.940444,6.167057,0.935904],[-2.314436,1.104995,1.681277],[-2.733629,7.742793,1.7705],[-0.452248,4.719868,2.740834],[-0.649143,4.951713,2.541296],[-0.479417,9.43959,-0.676324],[-2.251853,6.559275,0.046819],[0.033531,8.316907,-0.789939],[-0.513125,0.995673,3.125462],[-2.637602,1.039747,0.602434],[1.527513,6.230089,1.430903],[4.036124,2.609846,1.506498],[-3.559828,7.877892,1.228076],[-4.570736,4.960193,0.838201],[-0.432121,5.157731,2.467518],[-1.206735,4.562511,-1.237054],[-0.823768,3.788746,-1.567481],[-3.095544,7.353613,-1.024577],[-4.056088,7.631119,2.062001],[-0.289385,5.382261,2.329421],[1.69752,6.136483,1.667037],[-0.168758,5.061138,2.617453],[2.853576,1.605528,-1.229958],[-4.514319,6.586675,0.352756],[-2.558081,7.741151,1.29295],[1.61116,5.92358,2.071534],[3.936921,3.354857,0.091755],[-0.1633,1.119272,3.147975],[0.067551,1.593475,3.38212],[-1.303239,2.328184,-1.011672],[-0.438093,0.73423,3.398384],[-4.62767,3.898187,0.849573],[0.286853,4.165281,3.284834],[-2.968052,8.492812,-3.493693],[-0.111896,3.696111,3.53791],[-3.808245,8.451731,-1.574742],[0.053416,5.558764,2.31107],[3.956269,3.012071,0.11121],[-0.710956,8.106561,-0.665154],[0.234725,2.717326,3.722379],[-0.031594,2.76411,3.657347],[-0.017371,4.700633,2.81911],[0.215064,5.034859,2.721426],[-0.111151,8.480333,-0.649399],[3.97942,3.575478,0.362219],[0.392962,4.735392,2.874321],[4.17015,2.085087,1.865999],[0.169054,1.244786,3.337709],[0.020049,3.165818,3.721736],[0.248212,3.595518,3.698376],[0.130706,5.295541,2.540034],[-4.541357,4.798332,1.026866],[-1.277485,1.289518,-0.667272],[3.892133,3.54263,-0.078056],[4.057379,3.03669,0.997913],[0.287719,0.884758,3.251787],[0.535771,1.144701,3.400096],[0.585303,1.399362,3.505353],[0.191551,2.076246,3.549355],[0.328656,2.394576,3.649623],[0.413124,3.240728,3.771515],[0.630361,4.501549,2.963623],[0.529441,5.854392,2.120225],[3.805796,3.769958,-0.162079],[3.447279,4.344846,-0.467276],[0.377618,5.551116,2.426017],[0.409355,1.821269,3.606333],[0.719959,2.194726,3.703851],[0.495922,3.501519,3.755661],[0.603408,5.354097,2.603088],[-4.605056,7.531978,1.19579],[0.907972,0.973128,3.356513],[0.750134,3.356137,3.765847],[0.4496,3.993244,3.504544],[-3.030738,7.48947,-1.259169],[0.707505,5.602005,2.43476],[0.668944,0.654891,3.213797],[0.593244,2.700978,3.791427],[1.467759,3.30327,3.71035],[3.316249,2.436388,2.581175],[3.26138,1.724425,2.539028],[-1.231292,7.968263,0.281414],[-0.108773,8.712307,-0.790607],[4.445684,1.819442,1.896988],[1.998959,2.281499,3.49447],[2.162269,2.113817,3.365449],[4.363397,1.406731,1.922714],[4.808,2.225842,0.611127],[2.735919,0.771812,-0.701142],[1.897735,2.878428,3.583482],[-3.31616,5.331985,3.212394],[-3.3314,6.018137,3.313018],[-3.503183,6.480103,3.222216],[-1.904453,5.750392,1.913324],[-1.339735,3.559592,-1.421817],[-1.044242,8.22539,0.037414],[1.643492,3.110676,3.647424],[3.992832,3.686244,0.710946],[1.774207,1.71842,3.475768],[-3.438842,5.5713,3.427818],[4.602447,1.2583,1.619528],[-0.925516,7.930042,0.072336],[-1.252093,3.846565,-1.420761],[-3.426857,5.072419,2.97806],[-3.160408,6.152629,3.061869],[3.739931,3.367082,2.041273],[1.027419,4.235891,3.251253],[4.777703,1.887452,1.560409],[-3.318528,6.733796,2.982968],[2.929265,4.962579,2.271079],[3.449761,2.838629,2.474576],[-3.280159,5.029875,2.787514],[4.068939,2.993629,0.741567],[0.303312,8.70927,-1.121972],[0.229852,8.981322,-1.186075],[-0.011045,9.148156,-1.047057],[-2.942683,5.579613,2.929297],[-3.145409,5.698727,3.205778],[-3.019089,6.30887,2.794323],[-3.217135,6.468191,2.970032],[-3.048298,6.993641,2.623378],[-3.07429,6.660982,2.702434],[3.612011,2.5574,2.25349],[2.54516,4.553967,2.75884],[-1.683759,7.400787,0.250868],[-1.756066,7.463557,0.448031],[-3.023761,5.149697,2.673539],[3.112376,2.677218,2.782378],[2.835327,4.581196,2.567146],[-2.973799,7.225458,2.506988],[-0.591645,8.740662,-0.505845],[3.782861,2.04337,2.03066],[3.331604,3.36343,2.605047],[2.966866,1.205497,2.537432],[0.002669,9.654748,-1.355559],[2.632801,0.58497,2.540311],[-2.819398,5.087372,2.521098],[2.616193,5.332961,2.194288],[-3.193973,4.925634,2.607924],[-3.12618,5.27524,2.944544],[-0.426003,8.516354,-0.501528],[2.802717,1.387643,2.751649],[-3.120597,7.889111,-2.75431],[2.636648,1.71702,2.991302],[-2.853151,6.711792,2.430276],[-2.843836,6.962865,2.400842],[1.9696,3.199023,3.504514],[-2.461751,0.386352,3.008994],[1.64127,0.495758,3.02958],[-4.330472,5.409831,0.025287],[-2.912387,5.980416,2.844261],[-2.490069,0.211078,2.985391],[3.581816,4.809118,0.733728],[2.693199,2.647213,3.126709],[-0.182964,8.184108,-0.638459],[-2.226855,0.444711,2.946552],[-0.720175,8.115055,0.017689],[2.645302,4.316212,2.850139],[-0.232764,9.329503,-0.918639],[4.852365,1.471901,0.65275],[2.76229,2.014994,2.957755],[-2.808374,5.354301,2.644695],[-2.790967,6.406963,2.547985],[-1.342684,0.418488,-1.669183],[2.690675,5.593587,-0.041236],[4.660146,1.6318,1.713314],[2.775667,3.007229,3.111332],[-0.396696,8.963432,-0.706202],[2.446707,2.740617,3.321433],[-4.803209,5.884634,2.603672],[-2.652003,1.6541,1.5078],[3.932327,3.972874,0.831924],[2.135906,0.955587,2.986608],[2.486131,2.053802,3.124115],[-0.386706,8.115753,-0.37565],[-2.720727,7.325044,2.224878],[-1.396946,7.638016,-0.16486],[-0.62083,7.989771,-0.144413],[-2.653272,5.729684,2.667679],[3.038188,4.65835,2.364142],[2.381721,0.739472,2.788992],[-2.345829,5.474929,2.380633],[-2.518983,6.080562,2.479383],[-2.615793,6.839622,2.186116],[-2.286566,0.143752,2.766848],[-4.771219,6.508766,1.070797],[3.717308,2.905019,2.097994],[2.50521,3.016743,3.295898],[2.208448,1.56029,3.216806],[3.346783,1.01254,2.119951],[2.653503,3.26122,3.175738],[-2.359636,5.827519,2.402297],[-1.952693,0.558102,2.853307],[-0.321562,9.414885,-1.187501],[3.138923,1.405072,2.520765],[1.493728,1.780051,3.621969],[3.01817,0.907291,2.336909],[3.183548,1.185297,2.352175],[1.608619,5.006753,2.695131],[-4.723919,6.836107,1.095288],[-1.017586,8.865429,-0.149328],[4.730762,1.214014,0.64008],[-2.135182,6.647907,1.495471],[-2.420382,6.546114,2.108209],[-2.458053,7.186346,1.896623],[3.437124,0.275798,1.138203],[0.095925,8.725832,-0.926481],[2.417376,2.429869,3.287659],[2.279951,1.200317,3.049994],[2.674753,2.326926,3.044059],[-2.328123,6.849164,1.75751],[-3.418616,7.853407,0.126248],[-3.151587,7.77543,-0.110889],[2.349144,5.653242,2.05869],[-2.273236,6.085631,2.242888],[-4.560601,4.525342,1.261241],[2.866334,3.796067,2.934717],[-2.17493,6.505518,1.791367],[3.12059,3.283157,2.818869],[3.037703,3.562356,2.866653],[0.066233,9.488418,-1.248237],[2.749941,0.975018,2.573371],[-2.155749,5.801033,2.204009],[-2.162778,6.261889,2.028596],[1.936874,0.459142,2.956718],[3.176249,4.335541,2.440447],[4.356599,1.029423,1.700589],[3.873502,3.082678,1.80431],[2.895489,4.243034,2.735259],[-0.095774,9.468195,-1.07451],[-1.124982,7.886808,-0.480851],[3.032304,3.065454,2.897927],[3.692687,4.5961,0.957858],[-3.013045,3.807235,-1.098381],[-0.790012,8.92912,-0.367572],[1.905793,0.73179,2.996728],[3.530396,3.426233,2.356583],[2.12299,0.624933,2.929167],[-2.069196,6.039284,2.01251],[-3.565623,7.182525,2.850039],[2.959264,2.376337,2.829242],[2.949071,1.822483,2.793933],[4.036142,0.763803,1.703744],[-1.993527,6.180318,1.804936],[-0.030987,0.766389,3.344766],[-0.549683,8.225193,-0.189341],[-0.765469,8.272246,-0.127174],[-2.947047,7.541648,-0.414113],[-3.050327,9.10114,-3.435619],[3.488566,2.231807,2.399836],[3.352283,4.727851,1.946438],[4.741011,2.162773,1.499574],[-1.815093,6.072079,1.580722],[-3.720969,8.267927,-0.984713],[1.932826,3.714052,3.427488],[3.323617,4.438961,2.20732],[0.254111,9.26364,-1.373244],[-1.493384,7.868585,-0.450051],[-0.841901,0.776135,-1.619467],[0.243537,6.027668,0.091687],[0.303057,0.313022,-0.531105],[-0.435273,0.474098,3.481552],[2.121507,2.622389,3.486293],[1.96194,1.101753,3.159584],[3.937991,3.407551,1.551392],[0.070906,0.295753,1.377185],[-1.93588,7.631764,0.651674],[-2.523531,0.744818,-0.30985],[2.891496,3.319875,2.983079],[4.781765,1.547061,1.523129],[-2.256064,7.571251,0.973716],[3.244861,3.058249,2.724392],[-0.145855,0.437775,3.433662],[1.586296,5.658538,2.358487],[3.658336,3.774921,2.071837],[2.840463,4.817098,2.46376],[-1.219464,8.122542,-0.672808],[-2.520906,2.664486,-1.034346],[-1.315417,8.471365,-0.709557],[3.429165,3.74686,2.446169],[3.074579,3.840758,2.767409],[3.569443,3.166337,2.333647],[2.294337,3.280051,3.359346],[2.21816,3.66578,3.269222],[2.158662,4.151444,-1.357919],[1.13862,4.380986,-1.404565],[3.388382,2.749931,-0.840949],[3.059892,5.084848,2.026066],[3.204739,2.075145,2.640706],[3.387065,1.42617,2.305275],[3.910398,2.670742,1.750179],[3.471512,1.945821,2.395881],[4.08082,1.070654,1.960171],[-1.057861,0.133036,2.146707],[-0.151749,5.53551,-0.624323],[3.233099,4.003778,2.571172],[2.611726,5.319199,-0.499388],[2.682909,1.094499,-1.206247],[-1.22823,7.656887,0.041409],[-2.293247,7.259189,0.013844],[0.081315,0.202174,3.286381],[-1.002038,5.794454,-0.187194],[3.448856,4.08091,2.258325],[0.287883,9.006888,-1.550641],[-3.851019,4.059839,-0.646922],[3.610966,4.205438,1.913129],[2.239042,2.950872,3.449959],[0.216305,0.442843,3.328052],[1.87141,2.470745,3.574559],[3.811378,2.768718,-0.228364],[2.511081,1.362724,2.969349],[-1.59813,7.866506,0.440184],[-3.307975,2.851072,-0.894978],[-0.107011,8.90573,-0.884399],[-3.855315,2.842597,-0.434541],[2.517853,1.090768,2.799687],[3.791709,2.36685,2.002703],[4.06294,2.773922,0.452723],[-2.973289,7.61703,-0.623653],[-2.95509,8.924462,-3.446319],[2.861402,0.562592,2.184397],[-1.109725,8.594206,-0.076812],[-0.725722,7.924485,-0.381133],[-1.485587,1.329994,-0.654405],[-4.342113,3.233735,1.752922],[-2.968049,7.955519,-2.09405],[-3.130948,0.446196,0.85287],[-4.958475,5.757329,1.447055],[-3.086547,7.615193,-1.953168],[-3.751923,5.412821,3.373373],[-4.599645,7.480953,1.677134],[1.133992,0.274871,0.032249],[-2.956512,8.126905,-1.785461],[-0.960645,4.73065,-1.191786],[-2.871064,0.875559,0.424881],[-4.932114,5.99614,1.483845],[-2.981761,8.124612,-1.387276],[0.362298,8.978545,-1.368024],[-4.408375,3.046271,0.602373],[2.865841,2.322263,-1.344625],[-4.7848,5.620895,0.594432],[-2.88322,0.338931,1.67231],[-4.688101,6.772931,1.872318],[-4.903948,6.164698,1.27135],[2.85663,1.005647,-0.906843],[2.691286,0.209811,0.050512],[-4.693636,6.477556,0.665796],[-4.472331,6.861067,0.477318],[0.883065,0.204907,3.073933],[-0.995867,8.048729,-0.653897],[-0.794663,5.670397,-0.390119],[3.313153,1.638006,-0.722289],[-4.856459,5.394758,1.032591],[-3.005448,7.783023,-0.819641],[3.11891,2.036974,-1.08689],[-2.364319,2.408419,2.63419],[-2.927132,8.75435,-3.537159],[-3.296222,7.964629,-3.134625],[-1.642041,4.13417,-1.301665],[2.030759,0.176372,-1.030923],[-4.559069,3.751053,0.548453],[3.438385,4.59454,-0.243215],[-2.561769,7.93935,0.177696],[2.990593,1.335314,-0.943177],[1.2808,0.276396,-0.49072],[-0.318889,0.290684,0.211143],[3.54614,3.342635,-0.767878],[-3.073372,7.780018,-2.357807],[-4.455388,4.387245,0.361038],[-4.659393,6.276064,2.767014],[0.636799,4.482223,-1.426284],[-2.987681,8.072969,-2.45245],[-2.610445,0.763554,1.792054],[3.358241,2.006707,-0.802973],[-0.498347,0.251594,0.962885],[3.1322,0.683312,2.038777],[-4.389801,7.493776,0.690247],[0.431467,4.22119,-1.614215],[-4.376181,3.213141,0.273255],[-4.872319,5.715645,0.829714],[-4.826893,6.195334,0.849912],[3.516562,2.23732,-0.677597],[3.131656,1.698841,-0.975761],[-4.754925,5.411666,1.989303],[-2.987299,7.320765,-0.629479],[-3.757635,3.274862,-0.744022],[3.487044,2.541999,-0.699933],[-4.53274,4.649505,0.77093],[-1.424192,0.099423,2.633327],[3.090867,2.476975,-1.146957],[-2.713256,0.815622,2.17311],[3.348121,3.254167,-0.984896],[-3.031379,0.16453,-0.309937],[-0.949757,4.518137,-1.309172],[-0.889509,0.095256,1.288803],[3.539594,1.966105,-0.553965],[-4.60612,7.127749,0.811958],[-2.332953,1.444713,1.624548],[3.136293,2.95805,-1.138272],[3.540808,3.069058,-0.735285],[3.678852,2.362375,-0.452543],[-4.648898,7.37438,0.954791],[-0.646871,0.19037,3.344746],[2.2825,0.29343,-0.826273],[-4.422291,7.183959,0.557517],[-4.694668,5.246103,2.541768],[-4.583691,4.145486,0.600207],[-2.934854,7.912513,-1.539269],[-3.067861,7.817472,-0.546501],[3.825095,3.229512,-0.237547],[2.532494,0.323059,2.387105],[-2.514583,0.692857,1.23597],[-4.736805,7.214384,1.259421],[-2.98071,8.409903,-2.468199],[2.621468,1.385844,-1.406355],[3.811447,3.560855,1.847828],[3.432925,1.497205,-0.489784],[3.746609,3.631538,-0.39067],[3.594909,2.832257,-0.576012],[-0.404192,5.300188,-0.856561],[-4.762996,6.483774,1.702648],[-4.756612,6.786223,1.43682],[-2.965309,8.437217,-2.785495],[2.863867,0.74087,-0.429684],[4.02503,2.968753,1.392419],[3.669036,1.833858,-0.304971],[-2.888864,0.720537,0.778057],[-2.36982,0.979443,1.054447],[-2.959259,8.222303,-2.659724],[-3.467825,7.545739,-2.333445],[2.153426,0.446256,-1.20523],[-3.229807,9.189699,-3.596609],[-3.72486,8.773707,-2.046671],[3.687218,3.297751,-0.523746],[1.381025,0.08815,-1.185668],[-2.796828,7.205622,-0.208783],[3.647194,4.066232,-0.291507],[-4.578376,3.885556,1.52546],[-2.840262,0.63094,1.89499],[-2.429514,0.922118,1.820781],[-4.675079,6.573925,2.423363],[2.806207,4.320188,-1.027372],[-1.289608,0.097241,1.321661],[-3.010731,8.141334,-2.866148],[3.202291,1.235617,-0.549025],[4.094792,2.477519,0.304581],[2.948403,0.966873,-0.664857],[-4.83297,5.920587,2.095461],[-2.169693,7.257277,0.946184],[-1.335807,3.057597,-1.303166],[-1.037877,0.64151,-1.685271],[2.627919,0.089814,0.439074],[3.815794,3.808102,1.730493],[-2.973455,8.433141,-3.08872],[-2.391558,7.331428,1.658264],[-4.333107,4.529978,1.850516],[-4.640293,3.767107,1.168841],[3.600716,4.46931,1.734024],[3.880803,1.730158,-0.172736],[3.814183,4.262372,1.167042],[4.37325,0.829542,1.413729],[2.490447,5.75111,0.011492],[3.460003,4.962436,1.188971],[3.918419,3.814234,1.358271],[-0.807595,8.840504,-0.953711],[3.752855,4.20577,1.57177],[-2.991085,8.816501,-3.244595],[-2.333196,7.128889,1.551985],[3.977718,3.570941,1.25937],[4.360071,0.755579,1.079916],[4.637579,1.027973,1.032567],[-2.317,7.421066,1.329589],[-1.013404,8.293662,-0.7823],[4.548023,1.020644,1.420462],[4.763258,1.266798,1.296203],[4.896,2.073084,1.255213],[4.015005,3.325226,1.093879],[4.94885,1.860936,0.894463],[-2.189645,6.954634,1.270077],[4.887442,1.720992,1.288526],[-3.184068,7.871802,0.956189],[-1.274318,0.839887,-1.224389],[-2.919521,7.84432,0.541629],[-2.994586,7.766102,1.96867],[-3.417504,9.241714,-3.093201],[-3.174563,7.466456,2.473617],[-3.263067,9.069412,-3.003459],[-2.841592,0.529833,2.693434],[-3.611069,9.158804,-2.829871],[-4.642828,5.927526,0.320549],[-3.809308,9.051035,-2.692749],[-2.837582,7.487987,-0.106206],[4.773025,2.330442,1.213899],[4.897435,2.209906,0.966657],[-3.067637,8.164062,-1.12661],[-3.122129,8.08074,-0.899194],[4.571019,2.358113,1.462054],[4.584884,2.454418,0.709466],[-3.661093,7.146581,-0.475948],[4.735131,2.415859,0.933939],[4.207556,2.540018,1.218293],[-3.607595,7.89161,-0.121172],[-1.527952,0.775564,-1.061903],[4.53874,2.503273,1.099583],[-3.938837,7.587988,0.082449],[-4.853582,6.152409,1.787943],[-4.752214,6.247234,2.296873],[4.602935,2.363955,0.488901],[-1.81638,6.365879,0.868272],[0.595467,4.744074,-1.32483],[1.87635,3.511986,-1.842924],[4.330947,2.534326,0.720503],[4.108736,2.750805,0.904552],[-1.890939,8.492628,-0.290768],[-3.504309,6.173058,-0.422804],[-1.611992,6.196732,0.648736],[-3.899149,7.826123,1.088845],[-3.078303,3.008813,-1.035784],[-2.798999,7.844899,1.340061],[-1.248839,5.959105,0.041761],[0.767779,4.337318,3.090817],[-3.831177,7.515605,2.432261],[-1.667528,6.156208,0.365267],[-1.726078,6.237384,1.100059],[-3.972037,4.520832,-0.370756],[-4.40449,7.636357,1.520425],[-1.34506,6.004054,1.293159],[-1.233556,6.049933,0.500651],[-3.696869,7.79732,0.37979],[-3.307798,8.949964,-2.698113],[-1.997295,6.615056,1.103691],[-3.219222,8.336394,-1.150614],[-3.452623,8.31866,-0.9417],[-3.94641,2.990494,2.212592],[-3.250025,8.030414,-0.596097],[-2.02375,1.571333,2.397939],[-3.190358,7.665013,2.268183],[-2.811918,7.618526,2.145587],[-1.005265,5.892303,0.072158],[-0.93721,5.974148,0.906669],[-4.646072,7.492193,1.45312],[-0.252931,1.797654,3.140638],[-1.076064,5.738433,1.695953],[-3.980534,7.744391,1.735791],[-0.721187,5.939396,0.526032],[-0.42818,5.919755,0.229001],[-1.43429,6.11622,0.93863],[-0.985638,5.939683,0.290636],[-4.433836,7.461372,1.966437],[-3.696398,7.844859,1.547325],[-3.390772,7.820186,1.812204],[-2.916787,7.864019,0.804341],[-3.715952,8.037269,-0.591341],[-4.204634,7.72919,1.119866],[-4.592233,5.592883,0.246264],[3.307299,5.061701,1.622917],[-3.515159,7.601467,2.368914],[-3.435742,8.533457,-1.37916],[-0.269421,4.545635,-1.366445],[-2.542124,3.768736,-1.258512],[-3.034003,7.873773,1.256854],[-2.801399,7.856028,1.080137],[3.29354,5.220894,1.081767],[-2.35109,1.299486,1.01206],[-3.232213,7.768136,2.047563],[3.290415,5.217525,0.68019],[-3.415109,7.731034,2.144326],[3.440357,4.962463,0.373387],[3.147346,5.352121,1.386923],[2.847252,5.469051,1.831981],[3.137682,5.410222,1.050188],[3.102694,5.310456,1.676434],[-3.044601,0.39515,1.994084],[2.903647,5.561338,1.518598],[-3.810148,8.093598,-0.889131],[4.234835,0.803054,1.593271],[3.240165,5.228747,0.325955],[3.037452,5.509825,0.817137],[2.635031,5.795187,1.439724],[3.071607,5.318303,0.080142],[2.909167,5.611751,1.155874],[3.044889,5.465928,0.486566],[2.502256,5.770673,1.740054],[-0.067497,0.086416,-1.190239],[2.33326,5.906051,0.138295],[0.65096,4.205423,3.308767],[-2.671137,7.936535,0.432731],[2.14463,5.879214,1.866047],[-4.776469,5.890689,0.561986],[2.72432,5.655145,0.211951],[2.730488,5.751455,0.695894],[2.572682,5.869295,1.152663],[1.906776,5.739123,2.196551],[2.344414,5.999961,0.772922],[-3.377905,7.448708,-1.863251],[2.285149,5.968156,1.459258],[2.385989,5.928974,0.3689],[2.192111,6.087516,0.959901],[2.36372,6.001101,1.074346],[1.972022,6.079603,1.591175],[1.87615,5.976698,1.91554],[-3.824761,9.05372,-2.928615],[2.044704,6.129704,1.263111],[-2.583046,0.849537,2.497344],[-0.078825,2.342205,3.520322],[-0.704686,0.537165,3.397194],[-0.257449,3.235334,3.647545],[-0.332064,1.448284,3.022583],[-2.200146,0.898284,-0.447212],[-2.497508,1.745446,1.829167],[0.30702,4.416315,2.978956],[-3.205197,3.479307,-1.040582],[0.110069,9.347725,-1.563686],[-0.82754,0.883886,3.065838],[-2.017103,1.244785,2.42512],[-0.421091,2.309929,3.153898],[-0.491604,3.796072,3.16245],[2.786955,3.501241,-1.340214],[-3.229055,4.380713,-0.899241],[3.730768,0.76845,1.90312],[-0.561079,2.652382,3.152463],[-3.461471,3.086496,2.662505],[-0.661405,3.446009,3.179939],[-0.915351,0.636755,3.243708],[-2.992964,8.915628,-3.729833],[-0.439627,3.502104,3.42665],[-1.154217,0.883181,2.800835],[-1.736193,1.465474,2.595489],[-0.423928,3.24435,3.548277],[-0.511153,2.871046,3.379749],[-0.675722,2.991756,3.143262],[-1.092602,0.599103,3.090639],[-0.89821,2.836952,2.840023],[-2.658412,0.781376,0.960575],[-2.271455,1.222857,1.330478],[-0.877861,1.111222,2.72263],[-0.306959,2.876987,3.556044],[-3.839274,7.84138,-0.918404],[-0.172094,4.083799,3.141708],[-1.548332,0.2529,2.864655],[-0.217353,4.873911,-1.223104],[-3.384242,3.181056,-0.95579],[-2.731704,0.382421,2.895502],[-1.285037,0.551267,2.947675],[0.077224,4.246579,3.066738],[-0.479979,1.77955,2.860011],[-0.716375,1.224694,2.666751],[-0.54622,3.138255,3.393457],[-2.33413,1.821222,2.124883],[-0.50653,2.037147,2.897465],[2.451291,1.211389,-1.466589],[-3.160047,2.894081,2.724286],[-4.137258,5.433431,3.21201],[0.462896,0.320456,-0.174837],[-0.37458,2.609447,3.379253],[-3.095244,0.256205,2.196446],[-4.197985,5.732991,3.262924],[-0.729747,0.246036,0.497036],[-2.356189,5.062,-0.965619],[-1.609036,0.25962,-1.487367],[-4.074381,6.074061,3.409459],[-3.619304,4.0022,2.65705],[-0.543393,8.742896,-1.056622],[-4.30356,6.858934,2.879642],[-0.716688,2.901831,-2.11202],[1.547362,0.083189,1.138764],[-0.250916,0.275268,1.201344],[-3.778035,3.13624,2.466177],[-4.594316,5.771342,3.01694],[-3.717706,3.442887,2.603344],[-4.311163,5.224669,3.019373],[-0.610389,2.095161,-1.923515],[-3.040086,6.196918,-0.429149],[-3.802695,3.768247,2.545523],[-0.159541,2.043362,3.328549],[-3.744329,4.31785,2.491889],[-3.047939,0.214155,1.873639],[-4.41685,6.113058,3.166774],[-1.165133,0.460692,-1.742134],[-1.371289,4.249996,-1.317935],[-3.447883,0.3521,0.466205],[-4.495555,6.465548,2.944147],[-3.455335,0.171653,0.390816],[-3.964028,4.017196,2.376009],[-1.323595,1.763126,-0.750772],[-3.971142,5.277524,-0.19496],[-3.222052,0.237723,0.872229],[-4.403784,3.89107,1.872077],[-3.333311,0.342997,0.661016],[-4.495871,4.29606,1.63608],[-3.636081,2.760711,2.361949],[-4.487235,3.559608,1.66737],[-4.719787,7.26888,1.658722],[-1.086143,9.035741,-0.707144],[-2.339693,1.600485,-0.404817],[-4.642011,7.123829,1.990987],[-1.498077,3.854035,-1.369787],[-4.188372,4.729363,2.02983],[-3.116344,5.882284,-0.468884],[-4.305236,4.246417,1.976991],[-3.022509,0.22819,1.065688],[-2.799916,0.52022,1.128319],[-4.262823,3.534409,2.020383],[-4.221533,3.947676,2.11735],[-3.744353,4.391712,-0.6193],[-1.272905,0.156694,-1.741753],[-3.62491,2.669825,-0.549664],[-4.180756,3.096179,1.987215],[-4.059276,4.305313,2.232924],[-2.812753,0.183226,1.370267],[-4.032437,3.512234,2.309985],[-0.03787,0.28188,0.530391],[-4.711562,5.468653,2.822838],[-4.500636,6.953314,2.564445],[-4.479433,7.216991,2.270682],[3.990562,0.50522,0.716309],[-2.512229,6.863447,-0.100658],[-2.968058,6.956639,-0.37061],[2.550375,3.142683,-1.54068],[-2.320059,3.521605,-1.279397],[-4.556319,6.64662,2.745363],[-4.281091,7.108116,2.667598],[-2.050095,8.411689,0.121353],[-2.44854,1.135487,0.851875],[3.121815,0.699943,-0.277167],[-4.69877,6.00376,2.843035],[-1.360599,8.824742,-0.595597],[1.128437,0.171611,0.301691],[-4.360146,6.289423,0.042233],[1.400795,4.088829,-1.620409],[-3.193462,8.460137,-3.559446],[-3.168771,8.878431,-3.635795],[-3.434275,9.304302,-3.460878],[-3.349993,8.808093,-3.38179],[-3.304823,8.323865,-3.325905],[-3.572607,9.308843,-3.207672],[-3.166393,8.201215,-3.43014],[-3.451638,9.05331,-3.351345],[-3.309591,8.549758,-3.375055],[-3.527992,8.793926,-3.100376],[-3.6287,8.981677,-3.076319],[-3.445505,8.001887,-2.8273],[-3.408011,8.221014,-3.039237],[-3.65928,8.740382,-2.808856],[-3.878019,8.797295,-2.462866],[-3.515132,8.232341,-2.747739],[-3.460331,8.51524,-3.06818],[-3.403703,7.658628,-2.648789],[-3.507113,8.00159,-2.582275],[-3.607373,8.174737,-2.401723],[-3.749043,8.378084,-2.226959],[-3.648514,8.502213,-2.6138],[-2.534199,0.904753,2.021148],[1.4083,5.744252,-0.571402],[-3.852536,8.571009,-2.352358],[2.868255,5.373126,-0.163705],[2.224363,4.669891,-1.061586],[-4.528281,4.885838,1.340274],[1.30817,4.609629,-1.28762],[-4.519698,3.422501,1.354826],[-3.549955,7.783228,-2.332859],[1.12313,6.120856,0.045115],[-3.620324,7.57716,-2.033423],[-0.798833,2.624133,-1.992682],[-3.617587,7.783148,-2.051383],[-3.669293,8.103776,-2.10227],[-3.892417,8.667436,-2.167288],[-0.537435,0.285345,-0.176267],[-0.841522,3.299866,-1.887861],[-0.761547,3.647082,-1.798953],[-3.661544,7.85708,-1.867924],[-3.886763,8.551783,-1.889171],[-0.591244,1.549749,-1.714784],[-0.775276,1.908218,-1.597609],[-0.961458,2.573273,-1.695549],[-2.215672,1.335009,2.143031],[-4.622674,4.130242,1.220683],[1.07344,0.290099,1.584734],[-0.976906,2.92171,-1.76667],[-1.13696,3.194401,-1.513455],[-3.743262,7.99949,-1.629286],[-2.876359,4.900986,-0.879556],[0.550835,3.905557,-2.031372],[0.777647,4.992314,-1.215703],[1.445881,4.266201,-1.414663],[1.274222,5.510543,-0.824495],[-0.864685,2.318581,-1.702389],[-0.627458,3.820722,-1.743153],[-3.867699,8.30866,-1.850066],[1.635287,5.45587,-0.83844],[-1.037876,2.538589,-1.513504],[-4.38993,4.73926,1.699639],[0.048709,4.765232,-1.279506],[-0.626548,1.339887,-1.595114],[-3.682827,7.643453,-1.723398],[-3.868783,8.180191,-1.511743],[-0.76988,1.508373,-1.419599],[-1.138374,2.766765,-1.448163],[1.699883,5.780752,-0.475361],[1.214305,0.308517,1.866405],[-1.713642,0.373461,-1.265204],[-1.582388,0.58294,-1.267977],[-0.879549,1.821581,-1.313787],[0.519057,5.858757,-0.381397],[-3.770989,2.449208,-0.132655],[0.087576,0.156713,-1.53616],[-0.942622,2.146534,-1.421494],[-1.026192,1.022164,-1.145423],[-0.964079,1.645473,-1.067631],[-1.109128,2.458789,-1.29106],[-1.037478,0.209489,-1.805424],[-3.724391,7.599686,-1.273458],[-3.787898,7.951792,-1.304794],[3.821677,2.165581,-0.181535],[-2.39467,0.304606,-0.570375],[-2.352928,1.0439,2.079369],[-0.288899,9.640684,-1.006079],[-3.472118,7.263001,-1.080326],[-1.240769,0.972352,-0.976446],[-1.845253,0.356801,-0.995574],[-2.32279,7.915361,-0.057477],[-1.08092,2.179315,-1.168821],[4.598833,2.156768,0.280264],[-4.725417,6.442373,2.056809],[-0.490347,9.46429,-0.981092],[-1.99652,0.09737,-0.765828],[-1.137793,1.888846,-0.894165],[-0.37247,4.29661,-1.465199],[-0.184631,5.692946,-0.421398],[-3.751694,7.742231,-1.086908],[-1.001416,1.298225,-0.904674],[-3.536884,7.190777,-0.788609],[-3.737597,7.511281,-0.940052],[-1.766651,0.669388,-0.873054],[3.112245,3.474345,-1.129672],[-0.175504,3.81298,-2.0479],[-3.766762,7.412514,-0.681569],[-0.63375,9.439424,-0.785128],[-0.518199,4.768982,-1.258625],[0.790619,4.212759,-1.610218],[-3.761951,3.742528,-0.756283],[0.897483,5.679808,-0.612423],[2.221126,4.427468,-1.252155],[-0.728577,5.846457,0.062702],[0.194451,9.503908,-1.482461],[-0.099243,9.385459,-1.39564],[0.643185,3.636855,-2.180247],[0.894522,5.900601,-0.356935],[2.595516,4.75731,-0.893245],[1.108497,3.936893,-1.905098],[1.989894,5.789726,-0.343268],[-3.802345,7.655508,-0.613817],[2.339353,4.96257,-0.90308],[0.12564,4.013324,-1.879236],[-4.078965,3.683254,-0.445439],[2.092899,5.256128,-0.831607],[0.427571,0.291769,1.272964],[2.335549,3.480056,-1.581949],[-0.15687,0.324827,-1.648922],[-0.536522,5.760786,-0.203535],[1.507082,0.078251,-0.923109],[-1.854742,0.134826,2.698774],[-3.939827,3.168498,-0.526144],[-3.98461,3.39869,-0.533212],[-3.961738,4.217132,-0.489147],[4.273789,2.181164,0.153786],[-0.470498,5.645664,-0.439079],[-0.414539,5.488017,-0.673379],[-0.097462,5.062739,-1.114863],[1.198092,5.882232,-0.391699],[2.855834,5.085022,-0.498678],[1.037998,4.129757,-1.701811],[1.728091,5.068444,-1.063761],[-3.832258,2.625141,-0.311384],[-4.078526,3.070256,-0.284362],[-4.080365,3.954243,-0.440471],[-0.152578,5.276267,-0.929815],[-1.489635,8.928082,-0.295891],[0.759294,5.15585,-1.087374],[-4.000338,2.801647,-0.235135],[-4.290801,3.823209,-0.19374],[-4.221493,4.25618,-0.189894],[-4.066195,4.71916,-0.201724],[-0.155386,4.076396,-1.662865],[3.054571,4.414305,-0.825985],[-1.652919,8.726499,-0.388504],[-3.042753,0.560068,-0.126425],[-2.434456,1.118088,-0.213563],[-2.623502,1.845062,-0.283697],[-4.233371,3.43941,-0.202918],[2.726702,3.82071,-1.280097],[0.184199,4.14639,-1.673653],[-1.289203,0.624562,-1.560929],[-3.823676,7.382458,-0.407223],[0.476667,5.064419,-1.143742],[-3.873651,4.955112,-0.269389],[1.349666,5.312227,-1.000274],[-2.043776,8.434488,-0.108891],[-2.763964,0.733395,-0.129294],[-4.380505,3.664409,-0.024546],[-0.71211,5.341811,-0.803281],[-3.960858,7.183112,-0.118407],[-3.822277,7.712853,-0.263221],[-2.346808,8.108588,0.063244],[-1.841731,8.642999,-0.142496],[-2.600055,0.985604,-0.043595],[-3.513057,2.213243,-0.044151],[-3.963492,2.603055,-0.080898],[-4.258066,3.14537,-0.027046],[-4.261572,5.00334,0.13004],[0.795464,3.99873,-1.905688],[-3.300873,0.384761,0.013271],[-2.770244,0.881942,0.077313],[-3.456227,1.993871,0.301054],[-4.441987,3.914144,0.177867],[-4.367075,6.611414,0.165312],[-3.201767,0.576292,0.105769],[-3.174354,0.645009,0.440373],[-2.996576,0.74262,0.161325],[-2.724979,1.656497,0.092983],[-3.261757,2.017742,-0.070763],[-4.280173,4.518235,-0.002999],[-4.471073,5.945358,0.05202],[-3.877137,2.40743,0.274928],[-4.371219,4.252758,0.078039],[-3.400914,0.40983,0.238599],[-4.44293,3.523242,0.146339],[-4.574528,5.279761,0.353923],[-4.226643,7.191282,0.269256],[-4.16361,2.843204,0.097727],[-4.528506,5.011661,0.536625],[0.35514,5.664802,-0.572814],[2.508711,5.580976,-0.266636],[2.556226,3.633779,-1.426362],[1.878456,4.533714,-1.223744],[2.460709,4.440241,-1.1395],[2.218589,5.514603,-0.560066],[2.263712,5.737023,-0.250694],[2.964981,3.814858,-1.139927],[0.991384,5.304131,-0.999867],[2.81187,4.547292,-0.916025],[2.918089,4.768382,-0.702808],[3.262403,4.414286,-0.657935],[0.652136,6.089113,0.069089],[3.361389,3.5052,-0.946123],[2.613042,5.037192,-0.697153],[0.094339,4.36858,-1.451238],[3.290862,4.155716,-0.732318],[2.658063,4.073614,-1.217455],[3.260349,3.753257,-0.946819],[1.124268,4.862463,-1.207855],[3.35158,4.899247,-0.027586],[3.194057,4.691257,-0.524566],[3.090119,5.116085,-0.23255],[2.418965,3.811753,-1.419399],[2.191789,3.877038,-1.47023],[4.043166,2.034188,0.015477],[-1.026966,0.86766,-1.410912],[1.937563,3.860005,-1.617465],[2.98904,4.101806,-0.998132],[-0.142611,5.865305,-0.100872],[3.972673,2.292069,0.089463],[3.23349,3.959925,-0.849829],[0.16304,5.857276,-0.216704],[4.122964,1.770061,-0.114906],[2.099057,4.978374,-0.98449],[3.502411,3.76181,-0.667502],[2.079484,5.939614,-0.036205],[-0.084568,3.525193,-2.253506],[0.423859,4.06095,-1.845327],[1.6013,6.006466,-0.153429],[0.271701,3.844964,-2.078748],[0.273577,5.218904,-0.994711],[-0.410578,3.92165,-1.773635],[1.941954,5.60041,-0.621569],[0.100825,5.462131,-0.774256],[-0.53016,3.619892,-2.027451],[-0.822371,5.517453,-0.605747],[-2.474925,7.670892,-0.020174],[4.01571,0.830194,-0.013793],[-0.400092,5.094112,-1.041992],[-2.887284,5.581246,-0.525324],[-1.559841,6.050972,0.079301],[-0.469317,3.291673,-2.235211],[0.337397,3.467926,-2.295458],[-2.632074,5.573701,-0.582717],[-0.030318,6.011395,0.276616],[-0.934373,0.388987,-1.780523],[-2.661263,5.844838,-0.425966],[0.549353,5.489646,-0.807268],[-2.194355,6.197491,-0.109322],[-2.289618,5.664813,-0.581098],[1.583583,3.796366,-1.844498],[0.855295,0.215979,-1.425557],[-2.627569,5.300236,-0.767174],[4.333347,2.384332,0.399129],[-1.880401,5.583843,-0.696561],[-2.172346,5.324859,-0.846246],[-2.27058,5.906265,-0.388373],[-1.960049,5.889346,-0.397593],[0.965756,3.67547,-2.105671],[-2.014066,6.431125,0.287254],[-1.776173,5.287097,-0.89091],[-2.025852,5.089562,-0.980218],[-1.886418,6.108358,-0.000667],[-1.600803,5.785347,-0.491069],[-1.66188,4.968053,-1.042535],[-1.600621,5.962818,-0.188044],[-1.588831,5.615418,-0.665456],[4.46901,1.880138,0.057248],[-1.978845,0.927399,-0.554856],[-1.408074,5.325266,-0.83967],[1.923123,4.843955,-1.101389],[-2.87378,0.117106,-0.412735],[-1.222193,5.62638,-0.539981],[-2.632537,0.166349,-0.489218],[-1.370865,5.838832,-0.341026],[-1.067742,5.448874,-0.692701],[-1.073798,5.220878,-0.908779],[-1.147562,4.950417,-1.079727],[-2.789115,4.531047,-1.042713],[-3.550826,4.170487,-0.806058],[-3.331694,4.798177,-0.69568],[-3.689404,4.688543,-0.534317],[-3.511509,5.106246,-0.483632],[1.796344,0.076137,0.080455],[-3.306354,5.473605,-0.478764],[-2.692503,3.346604,-1.20959],[-3.963056,5.187462,3.113156],[-3.901231,6.391477,-0.246984],[4.484234,1.518638,-0.001617],[4.308829,1.657716,-0.119275],[4.290045,1.339528,-0.110626],[-3.514938,3.524974,-0.909109],[-2.1943,2.12163,-0.71966],[4.108206,1.091087,-0.11416],[3.785312,1.392435,-0.28588],[4.092886,1.480476,-0.210655],[-2.965937,6.469006,-0.379085],[-3.708581,2.962974,-0.63979],[-3.297971,2.218917,-0.299872],[3.806949,0.804703,-0.11438],[3.747957,1.059258,-0.273069],[-3.101827,4.111444,-1.006255],[-1.536445,4.658913,-1.195049],[-3.549826,2.450555,-0.375694],[-3.676495,2.108366,0.534323],[-3.674738,5.925075,-0.400011],[-2.250115,2.848335,-1.121174],[-3.698062,5.667567,-0.381396],[3.468966,0.734643,-0.190624],[-3.97972,5.670078,-0.26874],[-3.002087,4.337837,-1.033421],[-3.356392,2.608308,-0.713323],[-1.833016,3.359983,-1.28775],[-1.989069,3.632416,-1.305607],[3.591254,0.542371,0.026146],[3.364927,1.082572,-0.342613],[-3.393759,3.866801,-0.937266],[-4.124865,5.549529,-0.161729],[-4.423423,5.687223,0.000103],[-1.496881,2.601785,-1.114328],[-2.642297,6.496932,-0.264175],[-3.684236,6.819423,-0.320233],[-2.286996,3.167067,-1.246651],[-1.624896,8.44848,-0.530014],[-3.666787,2.159266,0.268149],[-2.402625,2.011243,-0.56446],[-2.736166,2.259839,-0.6943],[-2.168611,3.89078,-1.292206],[-2.065956,3.345708,-1.281346],[-2.778147,2.675605,-0.995706],[-3.507431,4.513272,-0.71829],[-2.301184,4.293911,-1.238182],[3.205808,0.211078,0.394349],[-2.129936,4.870577,-1.080781],[-2.287977,2.496593,-0.934069],[-2.701833,2.931814,-1.114509],[3.294795,0.50631,-0.081062],[-2.552829,7.468771,-0.021541],[3.06721,0.944066,-0.43074],[-2.86086,1.973622,-0.303132],[-3.598818,5.419613,-0.401645],[-1.524381,0.080156,-1.61662],[-1.907291,2.646274,-1.039438],[2.950783,0.407562,-0.105407],[-1.663048,1.655038,-0.689787],[-1.728102,1.110064,-0.635963],[-2.085823,7.686296,-0.159745],[2.883518,3.157009,-1.30858],[-2.724116,0.417169,-0.389719],[-1.788636,7.862672,-0.346413],[-2.186418,1.249609,-0.434583],[-3.092434,2.606657,-0.860002],[-1.737314,3.874201,-1.330986],[2.564522,0.422967,-0.390903],[1.670782,3.538432,-1.924753],[-2.338131,4.02578,-1.286673],[-1.916516,4.054121,-1.301788],[2.87159,2.034949,-1.267139],[-1.931518,3.062883,-1.197227],[-0.816602,0.135682,3.104104],[0.469392,0.213916,-1.489608],[2.574055,1.950091,-1.514427],[2.733595,2.682546,-1.461213],[-1.915407,4.693647,-1.151721],[-3.412883,5.867094,-0.450528],[2.28822,0.120432,-0.04102],[2.244477,0.14424,-0.376933],[-1.676198,3.570698,-1.328031],[-1.821193,4.366982,-1.266271],[-1.552208,8.099221,-0.53262],[-1.727419,2.39097,-0.989456],[-2.468226,4.711663,-1.069766],[-2.451669,6.113319,-0.273788],[2.635447,2.295842,-1.518361],[-2.020809,8.150253,-0.246714],[2.292455,0.805596,-1.3042],[2.641556,1.65665,-1.466962],[2.409062,2.842538,-1.635025],[2.456682,1.459484,-1.57543],[-1.691047,3.173582,-1.247082],[-1.865642,1.957608,-0.768683],[-3.401579,0.20407,0.100932],[2.301981,1.7102,-1.650461],[2.342929,2.611944,-1.690713],[-1.676111,2.923894,-1.17835],[-2.992039,3.547631,-1.118945],[-3.571677,6.504634,-0.375455],[2.141764,1.460869,-1.702464],[-3.221958,5.146049,-0.615632],[2.19238,2.949367,-1.747242],[2.320791,2.232971,-1.706842],[2.088678,2.585235,-1.813159],[-2.196404,0.592218,-0.569709],[-2.120811,1.836483,-0.62338],[-1.949935,2.271249,-0.874128],[2.235901,1.110183,-1.510719],[2.020157,3.241128,-1.803917],[2.054336,1.949394,-1.792332],[-3.094117,4.996595,-0.740238],[2.038063,0.635949,-1.402041],[1.980644,1.684408,-1.76778],[1.587432,3.306542,-1.991131],[1.935322,0.976267,-1.602208],[1.922621,1.235522,-1.698813],[1.712495,1.911874,-1.903234],[1.912802,2.259273,-1.888698],[1.884367,0.355453,-1.312633],[1.676427,0.76283,-1.539455],[1.78453,2.83662,-1.943035],[1.697312,0.120281,-1.150324],[1.648318,2.484973,-1.999505],[-4.051804,5.958472,-0.231731],[-1.964823,1.464607,-0.58115],[1.55996,2.183486,-1.971378],[1.628125,1.045912,-1.707832],[1.701684,1.540428,-1.827156],[1.567475,4.869481,-1.184665],[1.432492,0.843779,-1.648083],[1.173837,2.978983,-2.156687],[1.235287,3.37975,-2.09515],[1.252589,1.525293,-1.949205],[1.159334,2.336379,-2.105361],[1.49061,2.695263,-2.083216],[-4.122486,6.782604,-0.02545],[1.173388,0.279193,-1.423418],[1.505684,0.380815,-1.414395],[1.391423,1.343031,-1.843557],[1.263449,2.73225,-2.144961],[1.295858,0.597122,-1.515628],[1.245851,3.729126,-1.993015],[-2.761439,6.23717,-0.365856],[0.978887,1.664888,-2.046633],[1.219542,0.982729,-1.785486],[1.315915,1.91748,-2.02788],[-3.052746,2.127222,-0.369082],[0.977656,1.36223,-1.944119],[0.936122,3.39447,-2.203007],[-2.740036,4.184702,-1.122849],[0.853581,2.864694,-2.260847],[0.719569,0.818762,-1.763618],[0.839115,1.159359,-1.907943],[0.932069,1.94559,-2.117962],[0.579321,3.326747,-2.299369],[0.86324,0.597822,-1.565106],[0.574567,1.158452,-1.943123],[0.525138,2.137252,-2.213867],[0.779941,2.342019,-2.206157],[0.915255,2.618102,-2.209041],[0.526426,3.02241,-2.321826],[0.495431,2.521396,-2.295905],[0.80799,3.156817,-2.286432],[0.273556,1.304936,-2.012509],[0.664326,1.530024,-2.048722],[0.219173,2.32907,-2.323212],[0.405324,0.695359,-1.704884],[0.398827,0.946649,-1.843899],[0.345109,1.608829,-2.100174],[-2.356743,0.062032,-0.4947],[-3.001084,0.27146,2.560034],[-2.064663,0.303055,-0.697324],[0.221271,3.174023,-2.374399],[0.195842,0.437865,-1.621473],[-0.385613,0.297763,1.960096],[1.999609,0.108928,-0.79125],[0.351698,9.227494,-1.57565],[0.021477,2.191913,-2.309353],[0.246381,2.836575,-2.356365],[1.543281,0.237539,1.901906],[0.031881,9.147022,-1.454203],[-0.001881,1.648503,-2.108044],[0.333423,1.907088,-2.204533],[0.044063,2.634032,-2.368412],[-0.028148,3.053684,-2.390082],[0.02413,3.34297,-2.36544],[-0.272645,9.02879,-1.238685],[-0.006348,0.832044,-1.758222],[-0.321105,1.458754,-1.886313],[-0.153948,8.618809,-1.105353],[-0.409303,1.137783,-1.720556],[-0.410054,1.742789,-1.957989],[-0.287905,2.380404,-2.294509],[-0.261375,2.646629,-2.356322],[-0.221986,3.215303,-2.345844],[-0.31608,0.687581,-1.71901],[-0.537705,0.855802,-1.648585],[-0.142834,1.193053,-1.87371],[-0.24371,2.044435,-2.176958],[-0.437999,2.959748,-2.299698],[-0.78895,0.176226,-1.729046],[-0.608509,0.546932,-1.734032],[-0.693698,4.478782,-1.369372],[-0.669153,8.469645,-0.911149],[-0.741857,1.082705,-1.458474],[-0.554059,2.440325,-2.141785],[2.09261,0.153182,2.57581],[1.792547,0.111794,2.563777],[1.855787,0.189541,2.835089],[1.492601,0.232246,2.987681],[-0.284918,0.236687,3.429738],[2.604841,0.11997,1.01506],[0.331271,0.168113,3.124031],[0.280606,0.308368,2.495937],[0.544591,0.325711,2.081274],[0.193145,0.19154,-0.977556],[3.810099,0.42324,1.032202],[3.54622,0.379245,1.392814],[0.61402,0.276328,0.849356],[-1.198628,0.144953,2.911457],[4.17199,0.68037,1.391526],[0.88279,0.321339,2.059129],[1.93035,0.109992,2.054154],[1.620331,0.121986,2.37203],[2.374812,0.10921,1.734876],[-0.031227,0.294412,2.593687],[4.075018,0.561914,1.038065],[-0.570366,0.126583,2.975558],[0.950052,0.318463,1.804012],[1.130034,0.117125,0.98385],[2.123049,0.08946,1.665911],[2.087572,0.068621,0.335013],[2.927337,0.167117,0.289611],[0.528876,0.313434,3.205969],[1.174911,0.162744,1.328262],[-4.88844,5.59535,1.661134],[-4.709607,5.165338,1.324082],[0.871199,0.277021,1.263831],[-3.910877,2.349318,1.272269],[1.56824,0.118605,2.768112],[1.179176,0.152617,-0.858003],[1.634629,0.247872,2.128625],[-4.627425,5.126935,1.617836],[3.845542,0.54907,1.45601],[2.654006,0.165508,1.637169],[-0.678324,0.26488,1.974741],[2.451139,0.100377,0.213768],[0.633199,0.286719,0.403357],[-0.533042,0.2524,1.373267],[0.99317,0.171106,0.624966],[-0.100063,0.306466,2.170225],[1.245943,0.092351,0.661031],[1.390414,0.198996,-0.0864],[-4.457265,5.030531,2.138242],[2.89776,0.146575,1.297468],[1.802703,0.088824,-0.490405],[1.055447,0.309261,2.392437],[2.300436,0.142429,2.104254],[2.33399,0.187756,2.416935],[2.325183,0.134349,0.574063],[2.410924,0.370971,2.637115],[1.132924,0.290511,3.061],[1.764028,0.070212,-0.80535],[2.156994,0.397657,2.844061],[0.920711,0.225527,-0.882456],[-4.552135,5.24096,2.85514],[0.210016,0.309396,2.064296],[0.612067,0.136815,-1.086002],[3.150236,0.426757,1.802703],[-0.24824,0.282258,1.470997],[0.974269,0.301311,-0.640898],[-4.401413,5.03966,2.535553],[0.644319,0.274006,-0.817806],[0.332922,0.309077,0.108474],[3.610001,0.317447,0.689353],[3.335681,0.358195,0.118477],[0.623544,0.318983,-0.4193],[-0.11012,0.307747,1.831331],[-0.407528,0.291044,2.282935],[0.069783,0.285095,0.950289],[0.970135,0.310392,-0.283742],[0.840564,0.306898,0.098854],[-0.541827,0.267753,1.683795],[-3.956082,4.55713,2.297164],[-4.161036,2.834481,1.64183],[-4.093952,4.977551,2.747747],[2.661819,0.261867,1.926145],[-3.749926,2.161875,0.895238],[-2.497776,1.3629,0.791855],[0.691482,0.304968,1.582939],[-4.013193,4.830963,2.4769],[-3.639585,2.091265,1.304415],[-3.9767,2.563053,1.6284],[-3.979915,2.788616,1.977977],[0.388782,0.312656,1.709168],[-3.40873,1.877324,0.851652],[-3.671637,5.136974,3.170734],[-3.12964,1.852012,0.157682],[-3.629687,4.852698,2.686837],[-3.196164,1.793459,0.452804],[-3.746338,2.31357,1.648551],[2.992192,0.125251,0.575976],[-3.254051,0.054431,0.314152],[-3.474644,1.925288,1.134116],[-3.418372,2.022882,1.578901],[-2.920955,1.705403,0.29842],[-3.57229,2.152022,1.607572],[-3.251259,0.09013,-0.106174],[-3.299952,1.877781,1.348623],[-3.666819,2.441459,2.004838],[-2.912646,1.824748,-0.045348],[-3.399511,2.479484,2.340393],[-3.009754,0.015286,0.075567],[-3.381443,2.316937,2.156923],[-3.352801,2.133341,1.857366],[-3.01788,1.687685,0.645867],[-2.931857,1.678712,1.158472],[-3.301008,0.08836,0.591001],[1.358025,0.19795,1.599144],[-2.999565,1.845016,1.618396],[-2.767957,0.028397,-0.196436],[-2.93962,2.078779,2.140593],[-3.346648,2.674056,2.518097],[3.324322,0.20822,0.628605],[3.091677,0.137202,0.9345],[-2.881807,0.009952,0.318439],[-2.764946,1.786619,1.693439],[-2.905542,1.932343,1.900002],[-3.140854,2.271384,2.274946],[-2.88995,2.487856,2.574759],[-2.367194,-0.000943,-0.15576],[-3.050738,0.068703,0.742988],[-2.759525,1.55679,0.877782],[-3.151775,2.48054,2.482749],[-2.578618,-0.002885,0.165716],[-2.651618,1.877246,1.981189],[-2.933973,0.133731,1.631023],[1.047628,0.100284,-1.085248],[-1.585123,0.062083,-1.394896],[-2.287917,-0.002671,0.214434],[-2.524899,0.007481,0.471788],[-2.815492,2.188198,2.343294],[-2.095142,-0.003149,-0.094574],[-2.172686,-0.000133,0.47963],[-2.732704,0.074306,1.742079],[-2.49653,2.145668,2.42691],[-1.343683,0.047721,-1.506391],[-2.581185,0.048703,0.975528],[-2.905101,0.083158,2.010052],[-2.601514,2.007801,2.223089],[-2.339464,0.02634,1.484304],[-2.907873,0.10367,2.378149],[-1.368796,0.062516,-1.049125],[-1.93244,0.02443,-0.427603],[-2.705081,0.060513,2.303802],[3.372155,0.206274,0.892293],[-1.761827,0.093202,-1.037404],[-1.700667,0.0397,-0.614221],[-1.872291,0.011979,-0.135753],[-1.929257,0.074005,0.728999],[-2.520128,0.049665,1.99054],[-2.699411,0.10092,2.603116],[3.211701,0.27302,1.423357],[-1.445362,0.1371,-0.626491],[2.921332,0.259112,1.645525],[-0.993242,0.058686,-1.408916],[-0.944986,0.157541,-1.097665],[-2.154301,0.032749,1.882001],[-2.108789,1.988557,2.442673],[-1.015659,0.25497,-0.416665],[-1.898411,0.015872,0.16715],[-1.585517,0.027121,0.453445],[-2.311105,0.061264,2.327061],[-2.637042,0.152224,2.832201],[-2.087515,2.292972,2.617585],[-0.750611,0.056697,-1.504516],[-0.472029,0.075654,-1.360203],[-0.710798,0.139244,-1.183863],[-0.97755,0.26052,-0.831167],[-0.655814,0.260843,-0.880068],[-0.897513,0.275537,-0.133042],[-2.049194,0.084947,2.455422],[-0.177837,0.076362,-1.449009],[-0.553393,0.279083,-0.59573],[-1.788636,0.06163,2.231198],[-0.34761,0.255578,-0.999614],[-1.398589,0.036482,0.65871],[-1.133918,0.05617,0.69473],[-1.43369,0.058226,1.977865],[-2.505459,1.492266,1.19295]]
exports.cells=[[2,1661,3],[1676,7,6],[712,1694,9],[3,1674,1662],[11,1672,0],[1705,0,1],[5,6,1674],[4,5,1674],[7,8,712],[2,1662,10],[1,10,1705],[11,1690,1672],[1705,11,0],[5,1676,6],[7,9,6],[7,712,9],[2,3,1662],[3,4,1674],[1,2,10],[12,82,1837],[1808,12,1799],[1808,1799,1796],[12,861,82],[861,1808,13],[1808,861,12],[1799,12,1816],[1680,14,1444],[15,17,16],[14,1678,1700],[16,17,1679],[15,1660,17],[14,1084,1678],[15,1708,18],[15,18,1660],[1680,1084,14],[1680,15,1084],[15,1680,1708],[793,813,119],[1076,793,119],[1076,1836,22],[23,19,20],[21,1076,22],[21,22,23],[23,20,21],[1076,119,1836],[806,634,470],[432,1349,806],[251,42,125],[809,1171,791],[953,631,827],[634,1210,1176],[157,1832,1834],[56,219,53],[126,38,83],[37,85,43],[59,1151,1154],[83,75,41],[77,85,138],[201,948,46],[1362,36,37],[452,775,885],[1237,95,104],[966,963,1262],[85,77,43],[36,85,37],[1018,439,1019],[41,225,481],[85,83,127],[93,83,41],[935,972,962],[116,93,100],[98,82,813],[41,75,225],[298,751,54],[1021,415,1018],[77,138,128],[766,823,1347],[593,121,573],[905,885,667],[786,744,747],[100,41,107],[604,334,765],[779,450,825],[968,962,969],[225,365,481],[365,283,196],[161,160,303],[875,399,158],[328,1817,954],[62,61,1079],[358,81,72],[74,211,133],[160,161,138],[91,62,1079],[167,56,1405],[56,167,219],[913,914,48],[344,57,102],[43,77,128],[1075,97,1079],[389,882,887],[219,108,53],[1242,859,120],[604,840,618],[754,87,762],[197,36,1362],[1439,88,1200],[1652,304,89],[81,44,940],[445,463,151],[717,520,92],[129,116,100],[1666,1811,624],[1079,97,91],[62,91,71],[688,898,526],[463,74,133],[278,826,99],[961,372,42],[799,94,1007],[100,93,41],[1314,943,1301],[184,230,109],[875,1195,231],[133,176,189],[751,755,826],[101,102,57],[1198,513,117],[748,518,97],[1145,1484,1304],[358,658,81],[971,672,993],[445,151,456],[252,621,122],[36,271,126],[85,36,126],[116,83,93],[141,171,1747],[1081,883,103],[1398,1454,149],[457,121,593],[127,116,303],[697,70,891],[457,891,1652],[1058,1668,112],[518,130,97],[214,319,131],[185,1451,1449],[463,133,516],[1428,123,177],[113,862,561],[215,248,136],[186,42,251],[127,83,116],[160,85,127],[162,129,140],[154,169,1080],[169,170,1080],[210,174,166],[1529,1492,1524],[450,875,231],[399,875,450],[171,141,170],[113,1155,452],[131,319,360],[44,175,904],[452,872,113],[746,754,407],[147,149,150],[309,390,1148],[53,186,283],[757,158,797],[303,129,162],[429,303,162],[154,168,169],[673,164,193],[38,271,75],[320,288,1022],[246,476,173],[175,548,904],[182,728,456],[199,170,169],[168,199,169],[199,171,170],[184,238,230],[246,247,180],[1496,1483,1467],[147,150,148],[828,472,445],[53,108,186],[56,53,271],[186,961,42],[1342,391,57],[1664,157,1834],[1070,204,178],[178,204,179],[285,215,295],[692,55,360],[192,193,286],[359,673,209],[586,195,653],[121,89,573],[202,171,199],[238,515,311],[174,210,240],[174,105,166],[717,276,595],[1155,1149,452],[1405,56,197],[53,283,30],[75,53,30],[45,235,1651],[210,166,490],[181,193,192],[185,620,217],[26,798,759],[1070,226,204],[220,187,179],[220,168,187],[202,222,171],[359,209,181],[182,456,736],[964,167,1405],[76,250,414],[807,1280,1833],[70,883,1652],[227,179,204],[221,199,168],[221,202,199],[360,494,131],[214,241,319],[105,247,166],[205,203,260],[388,480,939],[482,855,211],[8,807,1833],[226,255,204],[228,221,168],[166,173,490],[701,369,702],[211,855,262],[631,920,630],[1448,1147,1584],[255,227,204],[237,220,179],[228,168,220],[222,256,555],[215,259,279],[126,271,38],[108,50,186],[227,236,179],[236,237,179],[220,237,228],[228,202,221],[256,222,202],[555,256,229],[259,152,279],[27,1296,31],[186,50,961],[961,234,372],[1651,235,812],[1572,1147,1448],[255,226,1778],[255,236,227],[256,257,229],[106,184,109],[241,410,188],[177,578,620],[209,673,181],[1136,1457,79],[1507,245,718],[255,273,236],[275,410,241],[206,851,250],[1459,253,1595],[1406,677,1650],[228,274,202],[202,281,256],[348,239,496],[205,172,203],[369,248,702],[261,550,218],[261,465,550],[574,243,566],[921,900,1220],[291,273,255],[348,238,265],[109,230,194],[149,380,323],[443,270,421],[272,291,255],[274,228,237],[274,292,202],[281,257,256],[276,543,341],[152,259,275],[1111,831,249],[632,556,364],[299,273,291],[299,236,273],[280,237,236],[202,292,281],[247,246,173],[282,49,66],[1620,1233,1553],[299,280,236],[280,305,237],[237,305,274],[306,292,274],[330,257,281],[246,194,264],[166,247,173],[912,894,896],[611,320,244],[1154,1020,907],[969,962,290],[272,299,291],[305,318,274],[145,212,240],[164,248,285],[259,277,275],[193,164,295],[269,240,210],[1033,288,320],[46,948,206],[336,280,299],[330,281,292],[257,307,300],[369,136,248],[145,240,269],[502,84,465],[193,295,286],[164,285,295],[282,302,49],[161,303,429],[318,306,274],[306,330,292],[315,257,330],[315,307,257],[307,352,300],[300,352,308],[275,277,403],[353,1141,333],[1420,425,47],[611,313,320],[85,126,83],[128,1180,43],[303,116,129],[280,314,305],[314,318,305],[190,181,242],[203,214,131],[820,795,815],[322,299,272],[322,336,299],[315,339,307],[172,152,617],[172,214,203],[321,1033,320],[1401,941,946],[85,160,138],[976,454,951],[747,60,786],[317,322,272],[339,352,307],[266,33,867],[163,224,218],[247,614,180],[648,639,553],[388,172,205],[611,345,313],[313,345,320],[160,127,303],[454,672,951],[317,329,322],[314,280,336],[306,338,330],[330,339,315],[1236,115,436],[342,321,320],[1046,355,328],[328,346,325],[325,346,317],[367,314,336],[314,337,318],[337,306,318],[338,343,330],[342,320,345],[355,349,328],[346,329,317],[347,336,322],[314,362,337],[330,343,339],[340,308,352],[135,906,1022],[239,156,491],[194,230,486],[40,1015,1003],[321,355,1046],[329,382,322],[382,347,322],[347,367,336],[337,371,306],[306,371,338],[1681,296,1493],[286,172,388],[230,348,486],[348,183,486],[384,332,830],[328,349,346],[367,362,314],[371,343,338],[339,351,352],[57,344,78],[342,355,321],[386,346,349],[386,350,346],[346,350,329],[347,366,367],[343,363,339],[323,380,324],[152,275,241],[345,1045,342],[350,374,329],[339,363,351],[234,340,352],[353,361,354],[40,34,1015],[373,355,342],[373,349,355],[374,382,329],[366,347,382],[371,363,343],[351,379,352],[379,372,352],[372,234,352],[156,190,491],[319,241,692],[354,361,31],[366,377,367],[363,379,351],[133,590,516],[197,56,271],[1045,370,342],[370,373,342],[374,350,386],[377,366,382],[367,395,362],[400,337,362],[400,371,337],[378,363,371],[106,109,614],[181,673,193],[953,920,631],[376,349,373],[376,386,349],[378,379,363],[224,375,218],[279,152,172],[361,619,381],[1347,823,795],[760,857,384],[392,374,386],[394,395,367],[383,371,400],[383,378,371],[218,375,261],[197,271,36],[414,454,976],[385,376,373],[1051,382,374],[387,394,367],[377,387,367],[395,400,362],[279,172,295],[30,365,225],[450,231,825],[385,373,370],[398,374,392],[1051,377,382],[396,378,383],[348,496,183],[295,172,286],[357,269,495],[1148,390,1411],[75,30,225],[206,76,54],[412,386,376],[412,392,386],[396,383,400],[651,114,878],[123,1241,506],[238,311,265],[381,653,29],[618,815,334],[427,1032,411],[298,414,976],[791,332,384],[129,100,140],[412,404,392],[392,404,398],[140,107,360],[395,394,400],[423,379,378],[385,412,376],[406,94,58],[419,415,1021],[422,423,378],[423,125,379],[258,508,238],[311,156,265],[213,287,491],[449,411,1024],[412,1068,404],[55,140,360],[76,414,54],[394,416,400],[400,416,396],[422,378,396],[1258,796,789],[427,411,449],[427,297,1032],[1385,1366,483],[417,448,284],[1507,341,245],[162,140,444],[658,44,81],[433,125,423],[438,251,125],[429,162,439],[1342,57,1348],[765,766,442],[697,891,695],[1057,396,416],[440,423,422],[440,433,423],[433,438,125],[438,196,251],[74,482,211],[1136,79,144],[29,195,424],[242,1004,492],[57,757,28],[414,298,54],[238,348,230],[224,163,124],[295,215,279],[495,269,490],[449,446,427],[446,297,427],[1020,1163,909],[128,138,419],[66,980,443],[415,439,1018],[111,396,1057],[111,422,396],[840,249,831],[593,664,596],[218,550,155],[109,194,180],[483,268,855],[161,415,419],[1737,232,428],[360,107,494],[1006,1011,410],[444,140,55],[919,843,430],[190,242,213],[275,403,410],[131,494,488],[449,663,446],[138,161,419],[128,419,34],[439,162,444],[460,440,422],[440,438,433],[472,74,445],[491,190,213],[238,508,515],[46,206,54],[972,944,962],[1241,1428,1284],[111,460,422],[470,432,806],[248,164,702],[1025,467,453],[553,1235,648],[263,114,881],[267,293,896],[469,438,440],[455,196,438],[287,242,492],[239,265,156],[213,242,287],[1684,746,63],[663,474,446],[415,161,429],[140,100,107],[1055,459,467],[469,455,438],[259,542,277],[446,474,466],[446,466,447],[439,444,1019],[614,109,180],[190,359,181],[156,497,190],[726,474,663],[1023,458,459],[461,440,460],[269,210,490],[246,180,194],[590,133,189],[163,218,155],[467,468,453],[1063,1029,111],[111,1029,460],[1029,464,460],[461,469,440],[150,149,323],[828,445,456],[375,502,261],[474,475,466],[573,426,462],[478,1023,477],[478,458,1023],[458,479,467],[459,458,467],[468,393,453],[464,461,460],[484,365,455],[1232,182,1380],[172,617,214],[547,694,277],[542,547,277],[184,258,238],[261,502,465],[467,479,468],[484,455,469],[1380,182,864],[475,476,466],[80,447,476],[466,476,447],[415,429,439],[479,487,468],[487,287,468],[492,393,468],[260,469,461],[481,365,484],[531,473,931],[692,360,319],[726,495,474],[468,287,492],[480,464,1029],[260,461,464],[494,481,484],[74,472,482],[174,240,212],[223,106,614],[486,477,485],[478,496,458],[491,487,479],[123,402,177],[488,469,260],[488,484,469],[265,239,348],[248,215,285],[474,490,475],[477,486,478],[458,496,479],[239,491,479],[1584,1147,1334],[488,494,484],[401,123,506],[495,490,474],[490,173,475],[80,476,264],[491,287,487],[480,1029,1004],[480,205,464],[173,476,475],[485,194,486],[486,183,478],[478,183,496],[496,239,479],[848,1166,60],[268,262,855],[205,260,464],[260,203,488],[203,131,488],[246,264,476],[194,485,264],[1002,310,1664],[311,515,497],[515,359,497],[565,359,515],[1250,1236,301],[736,456,151],[654,174,567],[577,534,648],[519,505,645],[725,565,508],[150,1723,148],[584,502,505],[584,526,502],[502,526,84],[607,191,682],[560,499,660],[607,517,191],[1038,711,124],[951,672,971],[716,507,356],[868,513,1198],[615,794,608],[682,191,174],[1313,928,1211],[617,241,214],[511,71,91],[408,800,792],[192,286,525],[80,485,447],[91,97,130],[1675,324,888],[207,756,532],[582,1097,1124],[311,497,156],[510,130,146],[523,511,510],[608,708,616],[546,690,650],[511,527,358],[536,146,518],[465,418,550],[418,709,735],[520,514,500],[584,505,519],[536,518,509],[146,536,510],[538,527,511],[876,263,669],[646,524,605],[510,536,523],[527,175,358],[724,876,669],[721,724,674],[524,683,834],[558,509,522],[558,536,509],[523,538,511],[611,243,574],[528,706,556],[668,541,498],[523,537,538],[527,540,175],[532,756,533],[1013,60,747],[551,698,699],[92,520,500],[535,536,558],[536,569,523],[538,540,527],[539,548,175],[567,212,145],[401,896,293],[534,675,639],[1510,595,1507],[557,545,530],[569,536,535],[537,540,538],[540,539,175],[569,537,523],[1135,718,47],[587,681,626],[580,535,558],[99,747,278],[701,565,725],[665,132,514],[665,514,575],[132,549,653],[176,651,189],[65,47,266],[597,569,535],[569,581,537],[537,581,540],[563,539,540],[539,564,548],[1509,1233,1434],[132,653,740],[550,710,155],[714,721,644],[410,1011,188],[732,534,586],[560,562,729],[555,557,222],[580,558,545],[597,535,580],[581,563,540],[5,821,1676],[576,215,136],[649,457,741],[564,539,563],[124,711,224],[550,668,710],[550,541,668],[565,701,673],[560,613,499],[233,532,625],[545,555,580],[601,581,569],[594,904,548],[1463,1425,434],[185,149,1454],[721,674,644],[185,380,149],[577,424,586],[462,586,559],[597,601,569],[594,548,564],[566,603,574],[165,543,544],[457,89,121],[586,424,195],[725,587,606],[1078,582,1124],[588,925,866],[462,559,593],[189,878,590],[555,229,580],[602,563,581],[904,594,956],[434,1425,1438],[1024,112,821],[572,587,626],[600,597,580],[599,591,656],[600,580,229],[601,622,581],[581,622,602],[602,564,563],[602,594,564],[603,611,574],[498,529,546],[697,1145,70],[592,628,626],[610,597,600],[597,610,601],[222,557,171],[604,765,799],[573,462,593],[133,200,176],[729,607,627],[1011,692,188],[518,146,130],[585,687,609],[682,627,607],[1712,599,656],[562,592,607],[643,656,654],[257,600,229],[601,633,622],[623,594,602],[174,212,567],[725,606,701],[609,701,606],[610,633,601],[633,642,622],[380,216,324],[142,143,1249],[501,732,586],[534,577,586],[648,1235,577],[610,641,633],[310,1002,1831],[618,334,604],[1710,145,269],[707,498,659],[501,586,462],[625,501,462],[726,663,691],[300,600,257],[641,610,600],[622,629,602],[602,629,623],[55,692,444],[518,748,509],[929,1515,1411],[620,578,267],[71,511,358],[707,668,498],[650,687,585],[600,300,641],[641,657,633],[1675,888,1669],[622,636,629],[505,502,375],[541,529,498],[332,420,1053],[637,551,638],[534,639,648],[69,623,873],[300,512,641],[633,657,642],[562,660,579],[687,637,638],[709,646,605],[775,738,885],[559,549,132],[646,683,524],[641,512,657],[266,897,949],[1712,643,1657],[184,727,258],[674,724,669],[699,714,647],[628,659,572],[657,662,642],[571,881,651],[517,607,504],[598,706,528],[598,694,547],[640,552,560],[655,693,698],[698,693,721],[91,510,511],[144,301,1136],[324,216,888],[870,764,1681],[575,514,520],[276,544,543],[658,175,44],[645,505,711],[659,546,572],[700,524,655],[605,700,529],[266,867,897],[1695,1526,764],[579,659,628],[654,591,682],[586,549,559],[698,721,714],[896,401,506],[640,734,599],[664,665,575],[621,629,636],[1712,656,643],[547,644,598],[710,668,707],[640,560,734],[655,698,551],[694,528,277],[512,662,657],[504,592,626],[688,584,519],[152,241,617],[587,725,681],[598,669,706],[526,670,84],[598,528,694],[710,707,499],[579,592,562],[660,659,579],[323,324,1134],[326,895,473],[195,29,653],[84,670,915],[560,660,562],[504,626,681],[711,505,224],[651,881,114],[216,620,889],[1362,678,197],[493,99,48],[1659,691,680],[529,690,546],[430,843,709],[655,524,693],[174,191,105],[674,669,598],[98,712,82],[572,546,585],[72,61,71],[912,911,894],[106,223,184],[664,132,665],[843,646,709],[635,699,136],[699,698,714],[593,132,664],[688,526,584],[185,177,620],[533,675,534],[687,638,635],[1652,89,457],[896,506,912],[132,740,514],[689,685,282],[691,449,680],[48,436,493],[136,699,647],[739,640,554],[549,586,653],[532,533,625],[1530,695,649],[653,381,619],[736,151,531],[188,692,241],[177,402,578],[33,689,867],[689,33,685],[593,559,132],[949,65,266],[711,1038,661],[939,480,1004],[609,369,701],[616,552,615],[619,361,740],[151,463,516],[513,521,117],[691,663,449],[186,251,196],[333,302,327],[613,560,552],[616,613,552],[690,551,637],[660,707,659],[704,208,1203],[418,735,550],[163,708,124],[524,834,693],[554,640,599],[245,341,165],[565,673,359],[155,710,708],[105,191,517],[1515,198,1411],[1709,554,599],[60,289,786],[838,1295,1399],[533,534,625],[710,499,708],[556,632,410],[217,620,216],[591,627,682],[504,503,223],[643,654,567],[690,637,650],[545,557,555],[174,654,682],[719,691,1659],[727,681,508],[645,711,661],[794,615,739],[565,515,508],[282,685,302],[1150,397,1149],[638,699,635],[544,685,33],[719,726,691],[1742,1126,1733],[1724,1475,148],[556,410,403],[185,217,380],[503,504,681],[277,556,403],[32,1178,158],[1712,1709,599],[605,529,541],[635,136,369],[687,635,369],[529,700,690],[700,551,690],[89,304,573],[625,534,732],[730,302,685],[503,681,727],[702,673,701],[730,327,302],[327,353,333],[596,664,575],[660,499,707],[585,546,650],[560,729,734],[700,655,551],[176,571,651],[517,504,223],[730,685,544],[1661,1682,726],[1682,495,726],[1250,301,917],[605,524,700],[609,687,369],[516,389,895],[1553,686,1027],[673,702,164],[656,591,654],[520,596,575],[402,123,401],[828,456,728],[1645,677,1653],[528,556,277],[638,551,699],[190,497,359],[276,730,544],[1117,1525,933],[1027,686,1306],[155,708,163],[709,605,541],[647,644,547],[650,637,687],[599,734,591],[578,293,267],[1682,357,495],[510,91,130],[734,729,627],[576,542,215],[709,541,735],[735,541,550],[276,500,730],[500,327,730],[653,619,740],[414,851,454],[734,627,591],[729,562,607],[615,552,640],[525,181,192],[308,512,300],[223,503,727],[266,165,33],[92,500,276],[321,1046,1033],[585,609,606],[1200,1559,86],[628,572,626],[301,436,803],[714,644,647],[708,499,613],[721,693,724],[514,353,327],[353,740,361],[344,158,78],[708,613,616],[615,640,739],[500,514,327],[514,740,353],[1449,177,185],[462,233,625],[851,405,1163],[608,616,615],[647,542,576],[625,732,501],[1097,582,1311],[1235,424,577],[579,628,592],[607,592,504],[24,432,470],[105,614,247],[104,742,471],[542,259,215],[365,196,455],[1420,47,65],[223,727,184],[547,542,647],[572,585,606],[587,572,606],[262,780,1370],[647,576,136],[644,674,598],[271,53,75],[727,508,258],[471,742,142],[505,375,224],[357,1710,269],[725,508,681],[659,498,546],[743,1178,32],[1195,634,231],[1176,24,470],[743,1110,1178],[135,809,857],[63,746,407],[634,1176,470],[159,1112,27],[1176,1685,24],[399,450,779],[1178,856,875],[751,744,54],[436,48,772],[634,1108,1210],[769,1285,1286],[751,298,755],[746,1684,754],[754,924,87],[722,1625,756],[87,839,153],[489,795,820],[758,808,1518],[839,840,153],[831,1111,959],[1111,749,959],[810,1253,1363],[1247,1394,713],[1388,1329,1201],[1242,120,761],[857,791,384],[758,1523,808],[296,764,1504],[70,1652,891],[207,233,1638],[1348,57,28],[858,420,332],[964,1379,1278],[420,1194,816],[784,1076,1186],[1076,21,1186],[1710,767,1],[849,822,778],[806,137,787],[786,790,744],[790,54,744],[771,63,407],[785,852,818],[774,1823,272],[895,151,516],[135,1022,809],[99,826,48],[48,826,755],[808,705,408],[833,441,716],[1733,743,32],[1385,836,852],[772,827,737],[1005,49,781],[793,1697,813],[1518,441,1537],[1139,1132,859],[782,801,770],[1510,1530,676],[770,814,835],[231,787,825],[207,722,756],[26,771,798],[782,863,865],[832,54,790],[865,842,507],[799,765,94],[1175,1261,1353],[800,408,805],[262,986,200],[792,800,814],[801,792,770],[704,1203,1148],[356,1514,822],[165,544,33],[561,776,113],[1043,738,775],[815,831,820],[773,792,801],[772,48,914],[772,737,803],[436,772,803],[808,817,705],[1624,822,1527],[588,1144,788],[799,762,604],[821,1520,1676],[854,803,666],[828,482,472],[445,74,463],[831,489,820],[828,836,482],[716,782,763],[334,815,766],[815,823,766],[334,766,765],[819,805,837],[1716,1521,1412],[1684,924,754],[800,805,819],[1709,829,554],[806,1349,137],[99,1013,747],[341,595,276],[817,810,818],[1176,1691,1685],[763,782,865],[830,846,1052],[865,1499,842],[982,846,1053],[847,832,790],[1178,875,158],[817,818,705],[1302,1392,45],[96,417,284],[223,614,517],[356,507,1514],[1166,848,1179],[1349,432,26],[717,92,276],[770,835,863],[522,509,1745],[847,841,832],[832,841,46],[829,739,554],[802,824,39],[397,1043,775],[1567,849,778],[1385,483,855],[1349,26,1346],[441,801,782],[402,401,293],[1043,667,738],[759,798,1007],[819,837,728],[728,837,828],[837,852,828],[1537,441,833],[148,1475,147],[805,705,837],[716,441,782],[483,1371,780],[814,819,844],[845,753,1336],[1661,719,4],[862,847,790],[737,827,666],[201,46,841],[810,785,818],[408,705,805],[1560,1536,849],[1585,853,1786],[7,1668,807],[7,807,8],[822,1514,1527],[800,819,814],[847,862,841],[991,857,760],[705,818,837],[808,408,773],[402,293,578],[791,858,332],[1480,1228,1240],[814,844,835],[785,1385,852],[1132,120,859],[1743,1726,684],[1704,783,1279],[1623,1694,1731],[959,489,831],[1518,808,773],[862,872,841],[441,773,801],[331,512,308],[380,217,216],[841,872,201],[818,852,837],[448,1480,1240],[856,1108,1195],[1527,1514,1526],[819,182,1232],[871,724,693],[852,836,828],[770,792,814],[803,737,666],[751,826,278],[1674,1727,1699],[849,356,822],[871,693,834],[507,842,1514],[1406,1097,869],[1328,1349,1346],[823,815,795],[744,751,278],[1110,856,1178],[520,717,316],[871,834,683],[884,876,724],[165,266,47],[716,763,507],[216,889,888],[853,1585,1570],[1536,716,356],[886,873,623],[782,770,863],[432,24,26],[683,882,871],[884,724,871],[114,876,884],[516,590,389],[11,1218,1628],[862,113,872],[886,623,629],[830,1052,1120],[762,153,604],[773,408,792],[763,865,507],[153,840,604],[882,884,871],[531,151,326],[886,890,873],[133,262,200],[819,1232,844],[621,636,122],[645,892,519],[1130,1076,784],[114,263,876],[1670,10,1663],[911,670,894],[452,885,872],[872,885,201],[887,882,683],[878,884,882],[590,878,882],[890,867,689],[897,629,621],[897,886,629],[819,728,182],[519,893,688],[894,670,526],[898,894,526],[1536,356,849],[810,1363,785],[878,114,884],[879,888,892],[892,889,893],[893,898,688],[895,683,843],[895,887,683],[889,620,267],[590,882,389],[418,465,84],[949,897,621],[897,890,886],[889,267,893],[898,267,896],[531,326,473],[189,651,878],[843,683,646],[897,867,890],[888,889,892],[893,267,898],[896,894,898],[473,895,843],[895,389,887],[974,706,669],[513,1115,521],[326,151,895],[809,791,857],[211,262,133],[920,923,947],[923,90,947],[90,25,947],[25,972,935],[64,431,899],[52,899,901],[903,905,59],[437,967,73],[839,1242,761],[904,975,44],[917,301,144],[915,670,911],[905,201,885],[1684,63,1685],[1033,1194,288],[950,913,755],[912,918,911],[950,914,913],[506,918,912],[922,919,915],[911,922,915],[1004,451,492],[1263,553,639],[922,911,918],[630,920,947],[916,506,926],[916,918,506],[521,1115,1098],[916,922,918],[919,418,915],[83,38,75],[24,1685,771],[110,1230,1213],[712,8,1837],[922,930,919],[919,430,418],[1395,1402,1187],[930,922,916],[594,623,69],[35,431,968],[35,968,969],[866,924,1684],[1625,1263,675],[631,630,52],[930,931,919],[430,709,418],[302,333,49],[1446,978,1138],[799,1007,798],[931,843,919],[947,25,64],[885,738,667],[1262,963,964],[899,970,901],[1401,946,938],[1117,933,1091],[1685,63,771],[905,948,201],[979,937,980],[951,953,950],[937,270,443],[1154,903,59],[1194,954,1067],[909,405,907],[850,1151,59],[1769,811,1432],[76,206,250],[938,946,966],[965,927,942],[938,966,957],[955,975,904],[927,965,934],[52,51,631],[59,905,667],[431,935,968],[786,289,561],[252,122,671],[481,494,107],[954,1817,1067],[795,25,90],[958,965,945],[795,972,25],[902,983,955],[972,489,944],[1256,29,424],[671,331,945],[946,958,963],[956,955,904],[902,955,956],[671,512,331],[945,331,961],[662,671,122],[671,662,512],[934,65,927],[630,947,52],[666,631,910],[850,59,667],[961,331,234],[1024,411,1042],[890,69,873],[252,671,945],[975,290,940],[283,186,196],[30,283,365],[950,755,298],[946,965,958],[985,290,975],[969,290,985],[405,851,206],[935,431,64],[941,1423,1420],[964,963,167],[942,252,945],[78,757,57],[49,1005,66],[937,979,270],[631,666,827],[980,937,443],[66,689,282],[421,902,956],[947,64,52],[35,979,899],[951,971,953],[762,87,153],[27,31,381],[924,839,87],[946,963,966],[331,308,340],[957,966,1262],[473,843,931],[953,971,920],[270,969,902],[935,962,968],[51,1005,781],[969,983,902],[437,73,940],[69,421,956],[761,249,840],[263,974,669],[962,944,967],[962,437,290],[985,975,955],[907,405,948],[720,957,1262],[25,935,64],[176,200,571],[108,945,50],[250,851,414],[200,986,571],[881,974,263],[827,772,953],[970,899,980],[29,159,27],[234,331,340],[948,405,206],[980,899,979],[986,984,571],[571,984,881],[990,706,974],[946,934,965],[970,980,66],[1113,1486,1554],[984,981,881],[881,987,974],[689,66,443],[1005,901,66],[983,985,955],[165,47,718],[987,990,974],[1370,986,262],[901,970,66],[51,901,1005],[981,987,881],[988,706,990],[942,945,965],[290,437,940],[64,899,52],[988,556,706],[941,934,946],[431,35,899],[996,989,984],[984,989,981],[981,989,987],[35,969,270],[1370,995,986],[986,995,984],[989,999,987],[987,992,990],[992,988,990],[962,967,437],[951,950,976],[979,35,270],[421,270,902],[998,995,1370],[987,999,992],[988,364,556],[969,985,983],[689,443,890],[995,1000,984],[219,958,108],[998,1000,995],[999,997,992],[914,953,772],[845,1336,745],[806,787,231],[1000,996,984],[989,996,999],[50,945,961],[443,421,69],[797,158,779],[1098,1463,434],[996,1009,999],[1001,988,992],[1001,364,988],[903,907,905],[26,759,973],[997,1001,992],[632,364,1001],[1346,26,973],[998,1008,1000],[1000,1009,996],[531,931,736],[252,949,621],[286,388,525],[1174,1008,998],[1009,1010,999],[999,1010,997],[1014,1001,997],[614,105,517],[958,945,108],[525,1004,242],[963,958,219],[233,426,304],[1000,1008,1009],[1010,1014,997],[1001,1006,632],[824,413,39],[642,636,622],[480,388,205],[28,757,797],[1014,1006,1001],[1006,410,632],[975,940,44],[1234,420,858],[54,832,46],[1009,1012,1010],[167,963,219],[41,481,107],[1017,1010,1012],[122,636,662],[939,525,388],[525,939,1004],[950,953,914],[829,1735,739],[1008,880,1015],[1008,1015,1009],[1263,639,675],[956,594,69],[795,90,1347],[1179,848,1013],[759,1007,973],[1009,1015,1012],[1012,1016,1017],[1017,1014,1010],[1019,1011,1006],[927,65,949],[649,316,595],[913,48,755],[976,950,298],[1003,1015,880],[1018,1006,1014],[1021,1018,1014],[444,692,1011],[451,1029,1063],[1185,851,1163],[29,27,381],[181,525,242],[1021,1014,1017],[1016,1021,1017],[1018,1019,1006],[1019,444,1011],[927,949,942],[451,393,492],[903,1154,907],[391,101,57],[94,765,58],[419,1016,1012],[949,252,942],[907,1020,909],[765,442,58],[94,406,908],[1007,94,908],[34,1012,1015],[34,419,1012],[419,1021,1016],[451,1057,393],[907,948,905],[1034,1073,1039],[1061,906,1619],[1068,960,1034],[471,1249,104],[112,1024,1042],[372,379,125],[341,543,165],[141,1094,170],[566,243,1061],[398,1034,1039],[325,317,1823],[1493,296,1724],[850,667,1043],[1054,297,1065],[1619,135,1074],[1061,243,906],[680,1024,821],[1103,96,1245],[1440,1123,1491],[1047,1025,1044],[672,454,1231],[1484,697,1530],[993,672,1231],[178,154,1088],[1044,1041,1066],[112,1062,1058],[1530,649,676],[178,1088,1040],[1046,328,954],[243,244,1022],[954,1194,1033],[1042,411,1032],[971,993,1056],[960,1093,1034],[1754,1338,232],[385,1064,412],[1057,1063,111],[748,1071,1447],[1530,697,695],[971,1056,1270],[977,1059,1211],[649,741,316],[1060,1452,1030],[353,354,1323],[695,768,649],[398,404,1034],[596,316,741],[1836,119,13],[1513,1115,1528],[883,1081,1652],[1039,1073,1048],[462,426,233],[31,1296,354],[1055,1047,1066],[1032,1054,1045],[1521,310,1224],[119,861,13],[1194,1234,288],[1109,1771,1070],[1166,1160,776],[1044,1035,1041],[1026,960,1064],[1050,1032,1045],[1049,1041,387],[115,1013,99],[1046,954,1033],[1321,920,971],[611,1058,345],[1048,1066,1049],[1023,1055,1073],[1029,451,1004],[118,1094,141],[1094,1080,170],[1042,1032,1050],[1026,1064,385],[15,16,1084],[1096,1079,61],[1075,1071,748],[325,1817,328],[909,1163,405],[1022,1234,809],[374,398,1051],[1082,72,81],[1023,1034,1093],[1817,1794,1067],[86,1445,1400],[1507,1535,1510],[1079,1096,1075],[568,1478,1104],[1070,178,1040],[1034,1023,1073],[776,1155,113],[1103,143,142],[1140,81,73],[1082,81,1140],[1060,1030,936],[1040,1086,1109],[370,1065,385],[61,72,1082],[1087,1096,1144],[1040,1088,1086],[1651,812,752],[1062,1050,1045],[187,154,178],[179,187,178],[1099,1344,1101],[1668,1058,807],[1073,1055,1048],[1099,1336,1344],[1283,943,1123],[1049,387,1051],[1024,680,449],[61,1082,1100],[967,749,1111],[1439,1037,88],[742,1505,142],[398,1039,1051],[1107,1336,1099],[1344,1542,1101],[142,1505,1103],[477,1093,447],[477,1023,1093],[471,142,1249],[1041,1035,394],[1328,568,1104],[61,1100,1096],[154,1092,1088],[112,1042,1050],[154,187,168],[435,235,45],[1075,1096,1087],[97,1075,748],[1049,1066,1041],[816,1067,1028],[846,982,1142],[1245,96,284],[1092,154,1080],[1057,451,1063],[387,377,1051],[1055,1025,1047],[1075,1087,1089],[1106,1108,856],[1068,1034,404],[1480,1545,868],[906,135,1619],[1074,991,1095],[570,566,1061],[1025,453,1044],[745,1336,1107],[1035,1057,416],[1092,1102,1129],[1074,135,991],[1105,745,1107],[447,1026,446],[394,387,1041],[73,81,940],[1118,1108,1106],[1210,1108,874],[243,1022,906],[412,1064,1068],[1280,611,603],[960,447,1093],[1051,1039,1049],[1040,1109,1070],[1471,1037,1439],[69,890,443],[1377,703,1374],[1092,1080,1102],[1096,1100,788],[1096,788,1144],[1114,967,1111],[446,1026,297],[70,1112,883],[453,393,1057],[1118,874,1108],[1054,370,1045],[1080,1094,1102],[1039,1048,1049],[428,753,845],[1047,1044,1066],[1044,453,1035],[1472,731,1512],[1126,1121,743],[743,1121,1110],[1032,297,1054],[1480,868,1216],[71,358,72],[1133,967,1114],[1105,1119,745],[1035,453,1057],[1026,447,960],[454,851,1190],[1030,1477,652],[589,816,1028],[1110,1121,1106],[1122,1118,1106],[1116,874,1118],[1048,1055,1066],[1194,1067,816],[744,278,747],[745,1120,845],[845,1052,428],[1105,1780,1119],[1065,297,385],[1098,1529,1463],[731,1060,936],[235,434,812],[1445,1525,1117],[1106,1121,1122],[1122,1127,1118],[1127,1116,1118],[1094,118,1732],[1119,1120,745],[1406,1124,1097],[435,117,235],[1462,1440,1037],[1126,1129,1121],[1088,1092,1129],[1133,73,967],[1120,1052,845],[812,434,752],[1441,1559,1200],[1131,588,413],[1054,1065,370],[235,1098,434],[1052,1142,428],[1737,428,1142],[1496,1446,1483],[1182,1083,1654],[1121,1129,1122],[1732,1116,1127],[768,457,649],[761,1114,249],[1064,960,1068],[1135,1481,1136],[1126,952,1129],[1087,588,1131],[1087,1144,588],[859,788,1139],[1140,1133,1132],[1133,1140,73],[1822,570,1061],[394,1035,416],[1055,1023,459],[80,264,485],[1119,1128,1120],[145,1658,567],[695,891,768],[1129,1102,1122],[1122,1102,1127],[1416,1077,1413],[297,1026,385],[1052,846,1142],[1445,1117,1400],[952,1086,1129],[1714,1089,1131],[1131,1089,1087],[1100,1139,788],[112,1050,1062],[1323,354,1296],[49,333,1141],[1142,982,1737],[79,1457,1091],[1088,1129,1086],[1102,1094,1127],[1127,1094,1732],[1100,1082,1139],[1082,1132,1139],[1082,1140,1132],[1150,1043,397],[60,1166,289],[1696,1146,1698],[1297,1202,1313],[409,1297,1313],[1234,1194,420],[1408,1391,1394],[424,1235,1243],[1203,309,1148],[485,477,447],[1152,1156,850],[1153,1149,1155],[1153,1157,1149],[1149,1152,1150],[1156,1154,1151],[776,1153,1155],[1157,1152,1149],[1217,1393,1208],[1156,1159,1154],[1153,1165,1157],[1165,1152,1157],[1159,1020,1154],[1161,1153,776],[1161,1165,1153],[1165,1158,1152],[1152,1158,1156],[1158,1159,1156],[1166,776,561],[1160,1161,776],[1161,1164,1165],[1161,1160,1164],[1158,1162,1159],[1159,1162,1020],[1270,1321,971],[1164,1170,1165],[1165,1162,1158],[1162,1163,1020],[588,788,925],[1166,1167,1160],[1165,1170,1162],[1160,1167,1164],[1162,1170,1163],[1179,1167,1166],[1167,1168,1164],[1164,1168,1170],[1168,1169,1170],[1234,1022,288],[802,39,866],[1179,1168,1167],[1169,1173,1170],[1170,1173,1163],[1173,1185,1163],[1360,1267,1364],[1169,1185,1173],[611,244,243],[900,1226,1376],[1260,1408,1350],[618,840,831],[1181,1183,1179],[1179,1184,1168],[1208,1274,1291],[1183,1184,1179],[1168,1184,1169],[1387,1395,1254],[1208,1204,1172],[1182,1197,1083],[1187,1083,1197],[1213,1183,1181],[1169,1207,1185],[135,857,991],[1013,1213,1181],[1189,1183,1213],[1183,1189,1184],[1169,1184,1207],[1207,1190,1185],[1180,1389,1288],[1191,1192,1640],[1640,1192,1090],[1090,1205,1654],[1654,1205,1182],[1188,1395,1187],[1126,743,1733],[788,859,925],[809,1234,1171],[1193,1197,1182],[1189,1199,1184],[1639,1191,1637],[1639,1212,1191],[1205,1193,1182],[1198,1187,1197],[1199,1207,1184],[332,1053,846],[1090,1192,1205],[117,1188,1187],[435,1188,117],[435,1206,1188],[1199,1189,1213],[420,816,1053],[1212,1215,1191],[117,1187,1198],[45,1206,435],[120,1132,1133],[874,1116,1210],[1191,1215,1192],[1193,1216,1197],[1216,1198,1197],[1199,1214,1207],[117,521,235],[1220,1311,1078],[1220,900,1311],[1653,1215,1212],[1192,1225,1205],[1205,1209,1193],[1209,1216,1193],[1389,1217,1172],[1207,1214,454],[171,557,1747],[1805,1078,1787],[1805,1219,1078],[1198,1216,868],[666,910,854],[1230,1231,1213],[1213,1231,1199],[1199,1231,1214],[1219,1220,1078],[1215,1221,1192],[1192,1221,1225],[1225,1228,1205],[1205,1228,1209],[1209,1228,1216],[1464,1325,1223],[1215,1227,1221],[1228,1480,1216],[1226,1653,1376],[1653,1249,1215],[1221,1240,1225],[1225,1240,1228],[839,761,840],[1238,1219,1805],[1238,1220,1219],[1232,1380,1375],[1226,1249,1653],[1221,1227,1240],[233,207,532],[110,1236,1230],[1248,1231,1230],[1231,454,1214],[1249,1227,1215],[1248,1056,1231],[489,959,944],[448,1240,284],[925,859,1242],[1805,1244,1238],[1252,1220,1238],[1252,921,1220],[1236,1251,1230],[1230,1251,1248],[1056,993,1231],[1031,1264,1263],[68,1186,157],[1227,1245,1240],[1103,1245,143],[1243,1235,612],[1252,95,921],[1249,1226,1237],[1390,1387,1254],[1120,384,830],[830,332,846],[1227,143,1245],[1315,1369,1358],[1356,1269,1386],[972,795,489],[1831,1224,310],[1250,1255,1251],[1251,1056,1248],[1256,1243,103],[658,358,175],[1620,1238,1244],[1620,1252,1238],[1506,95,1252],[104,1249,1237],[1249,143,1227],[1268,1419,1329],[634,806,231],[618,831,815],[924,1242,839],[1255,1270,1251],[1251,1270,1056],[866,925,1242],[103,29,1256],[424,1243,1256],[134,1651,752],[1250,917,1255],[1172,1204,1260],[1352,1036,1276],[1265,1201,1329],[804,1282,1259],[1259,1294,723],[335,1330,1305],[407,762,799],[875,856,1195],[32,158,344],[967,944,749],[372,125,42],[1175,1354,1261],[553,612,1235],[1259,1273,1294],[1294,1283,723],[757,78,158],[407,799,798],[901,51,52],[139,1386,1389],[1386,1269,1389],[1389,1269,1217],[1148,1590,1268],[1428,1449,1450],[804,1281,1282],[1273,1259,1282],[158,399,779],[771,407,798],[521,1098,235],[917,1312,1255],[1312,1270,1255],[1217,1269,1393],[1195,1108,634],[1110,1106,856],[1210,1691,1176],[27,1112,1145],[1296,27,1145],[1171,858,791],[704,1148,1290],[1430,1436,1437],[1282,1308,1273],[1300,943,1283],[1393,1355,1274],[720,1278,769],[1287,1059,1399],[1310,1388,1272],[1312,1321,1270],[851,1185,1190],[1296,1145,1304],[26,24,771],[51,910,631],[1329,1290,1268],[1290,1148,1268],[1298,1293,733],[1281,1293,1282],[1282,1293,1308],[1308,1299,1273],[1300,1283,1294],[1340,943,1300],[1340,1301,943],[407,754,762],[1287,1399,1295],[34,139,128],[1288,1172,1260],[120,1133,1114],[1306,1113,1511],[1464,1223,1292],[1299,1294,1273],[1299,1300,1294],[1286,1295,838],[1285,1247,1286],[1247,713,1286],[1201,1265,1390],[1378,1368,1357],[1482,1320,917],[917,1320,1312],[850,1156,1151],[588,39,413],[1324,1306,686],[789,1365,928],[1223,1326,1292],[1292,1326,1298],[869,1097,1311],[790,786,561],[1323,1304,932],[1323,1296,1304],[1317,1324,686],[1306,368,1113],[1325,1342,1223],[1326,1348,1298],[1293,1327,1308],[1308,1318,1299],[704,1290,1258],[1320,1321,1312],[761,120,1114],[1684,802,866],[1674,6,1727],[1316,1323,932],[1335,1337,1305],[1348,1327,1293],[1298,1348,1293],[1333,1300,1299],[1333,1343,1300],[1328,1301,1340],[1328,1314,1301],[838,1399,1319],[921,1237,900],[409,1391,1408],[1376,1653,677],[1281,804,1458],[1331,1324,1317],[1324,368,1306],[368,1338,1307],[1327,797,1308],[797,1345,1308],[1308,1345,1318],[1318,1333,1299],[1341,1147,1572],[923,1321,1320],[923,920,1321],[39,588,866],[1141,1323,1316],[1330,1335,1305],[1337,1335,1336],[1339,1332,1325],[1223,1342,1326],[1342,1348,1326],[1348,797,1327],[1345,1333,1318],[1343,1340,1300],[1419,1265,1329],[1347,1320,1584],[1535,1141,1316],[1078,1311,582],[1344,1335,1330],[753,1331,1337],[368,1324,1331],[753,368,1331],[1332,1485,1325],[1325,1485,1342],[787,1343,1333],[137,1328,1340],[973,1341,1479],[406,1147,1341],[1171,1234,858],[1141,1535,1322],[49,1141,1322],[1344,1336,1335],[973,908,1341],[766,1347,1584],[1347,923,1320],[781,49,1322],[368,232,1338],[787,1340,1343],[787,137,1340],[568,1346,973],[58,1147,406],[442,1334,1147],[58,442,1147],[442,766,1334],[90,923,1347],[428,368,753],[779,1333,1345],[825,787,1333],[137,1349,1328],[1328,1346,568],[908,406,1341],[924,866,1242],[1336,753,1337],[428,232,368],[1115,777,1098],[1348,28,797],[797,779,1345],[779,825,1333],[1007,908,973],[583,1351,880],[1365,1246,977],[1658,145,1710],[1310,796,1388],[718,245,165],[1302,1272,1254],[1174,1351,583],[1174,715,1351],[1358,1260,1204],[1374,1373,1276],[1377,1374,1276],[678,1362,1382],[1377,1276,254],[139,34,40],[1008,1174,583],[1396,1286,1319],[768,891,457],[1316,932,1535],[1289,1371,1360],[182,736,864],[1355,1364,1274],[860,1367,1354],[1362,1222,1382],[1376,869,1311],[1590,1411,198],[1232,1375,877],[1394,1295,1286],[880,1356,1386],[880,1351,1356],[1211,1059,1287],[197,678,1405],[880,1386,1003],[1368,1253,1357],[1357,1253,1036],[715,1289,1364],[1354,1367,703],[1383,877,1375],[1266,1288,1260],[1373,1374,703],[1372,1289,1174],[1303,1366,1378],[1351,715,1355],[1665,1666,624],[1309,1357,1036],[900,1237,1226],[1174,1289,715],[1337,1331,1317],[1360,1303,1359],[1267,1354,1175],[1241,1284,1414],[1377,254,929],[1385,855,836],[1396,1319,1436],[1361,1366,1303],[1381,1368,1378],[1313,1211,1391],[1368,1385,1363],[813,82,861],[1058,1280,807],[893,519,892],[1359,1303,860],[1382,1350,1247],[1371,1303,1360],[1267,1175,1271],[769,1286,1396],[712,1837,82],[1366,1385,1381],[1365,796,1310],[1003,1386,40],[780,1371,1370],[561,862,790],[1284,1380,864],[1449,1428,177],[611,1280,1058],[1284,1375,1380],[926,506,1241],[1305,1337,1317],[309,1203,208],[1388,1201,1390],[1309,1036,1352],[1377,929,1411],[1399,1059,1257],[1112,70,1145],[289,1166,561],[1288,1389,1172],[1362,37,1180],[713,1394,1286],[1355,1393,1269],[1401,1423,941],[1274,1271,1384],[860,1378,1367],[715,1364,1355],[677,1406,869],[1297,1358,1202],[1388,1258,1329],[1180,1288,1266],[1008,583,880],[1524,1425,1463],[1390,1403,1387],[1278,1379,1247],[1278,1247,1285],[964,1278,1262],[1358,1369,1202],[1715,1699,1726],[926,1241,1414],[1341,1572,1479],[926,930,916],[1397,51,781],[409,1358,1297],[1236,436,301],[1376,677,869],[1351,1355,1356],[758,1534,1523],[1378,1357,1367],[977,1211,1365],[1135,1136,854],[1394,1391,1295],[1266,1260,1222],[1365,1302,1246],[1232,877,844],[736,930,864],[1408,1358,409],[1508,817,1523],[1381,1385,1368],[718,854,910],[854,718,1135],[1382,1222,1350],[1391,1211,1287],[1391,1287,1295],[1257,1651,134],[1414,1284,864],[1291,1369,1315],[1202,928,1313],[86,1400,1413],[1413,1200,86],[1263,1625,1031],[1413,1400,1404],[1002,1664,1834],[930,926,1414],[1399,1257,134],[520,316,596],[1393,1274,1208],[1657,1655,1712],[1407,1404,1400],[1404,1410,1413],[1649,1229,1406],[1362,1266,1222],[1384,1271,1175],[900,1376,1311],[1274,1384,1291],[1291,1384,1431],[1433,1396,1436],[1267,1359,1354],[309,1353,703],[838,1319,1286],[1407,1410,1404],[441,1518,773],[1241,123,1428],[1622,1521,1224],[1217,1208,1172],[1130,793,1076],[425,1409,1481],[1481,1409,1533],[1303,1378,860],[1350,1408,1394],[1246,1651,977],[1289,1360,1364],[1727,1694,1623],[1417,1407,1533],[1417,1410,1407],[1406,1650,1649],[1319,134,1437],[1414,864,930],[1406,1229,1124],[1354,1359,860],[1433,769,1396],[1417,1533,1409],[1416,1413,1410],[1415,1416,1410],[95,1237,921],[1392,1254,1395],[1360,1359,1267],[1258,1290,1329],[1180,128,1389],[1420,1409,425],[1417,1418,1410],[1418,1415,1410],[1422,1077,1416],[1247,1350,1394],[37,43,1180],[1204,1315,1358],[1428,1383,1375],[1356,1355,1269],[1409,1418,1417],[1302,45,1246],[1421,1416,1415],[1421,1422,1416],[1422,1494,1077],[957,720,938],[1423,1409,1420],[1423,1418,1409],[752,434,1438],[1260,1358,1408],[1363,1385,785],[1423,1426,1418],[1426,1424,1418],[1229,1649,1124],[1222,1260,1350],[1508,1523,1137],[1278,1285,769],[1482,917,144],[1418,1424,1415],[1425,1422,1421],[1425,1524,1422],[1272,1388,1390],[1391,409,1313],[1378,1366,1381],[1371,483,1361],[720,1262,1278],[29,103,159],[1271,1364,1267],[1424,1427,1415],[1537,1522,1518],[134,752,1438],[1420,934,941],[1428,1375,1284],[1277,1224,1831],[1362,1180,1266],[1401,1426,1423],[1577,1369,1291],[268,483,262],[1383,1450,1456],[1384,1175,1431],[1430,1415,1427],[1430,1421,1415],[1430,1425,1421],[1379,1382,1247],[1252,1553,1429],[1206,1392,1395],[1433,1430,1427],[309,208,1353],[1272,1390,1254],[1361,483,1366],[1523,817,808],[1302,1254,1392],[1371,1361,1303],[1426,1435,1424],[1435,1433,1424],[1433,1427,1424],[720,769,1433],[796,1258,1388],[1590,1419,1268],[1289,1372,1371],[1305,1317,1509],[998,1372,1174],[40,1386,139],[1261,1354,703],[1364,1271,1274],[134,1438,1437],[1436,1319,1437],[1317,686,1509],[1484,932,1304],[1434,1432,1509],[1420,65,934],[931,930,736],[1367,1357,1309],[1372,1370,1371],[1204,1208,1315],[1426,938,1435],[1368,1363,1253],[1207,454,1190],[1302,1310,1272],[309,1377,390],[390,1377,1411],[1370,1372,998],[1411,1590,1148],[720,1433,1435],[1450,1383,1428],[1379,678,1382],[1405,678,1379],[1208,1291,1315],[1399,134,1319],[1367,1309,1373],[1373,1352,1276],[596,741,593],[553,1264,612],[1433,1436,1430],[1437,1438,1430],[964,1405,1379],[1373,1309,1352],[1265,1403,1390],[1233,1618,1434],[1365,1310,1302],[789,796,1365],[720,1435,938],[128,139,1389],[1466,933,1525],[1191,1640,1637],[1314,1442,943],[1141,353,1323],[1489,1138,1474],[1462,1477,1440],[1474,1138,1488],[1442,1314,1443],[1446,1030,1546],[1484,1145,697],[1549,1443,1445],[1470,1572,1468],[1397,1239,1507],[1649,1825,1824],[1259,1440,1477],[1451,1450,1449],[978,1446,652],[1454,1456,1451],[1451,1456,1450],[341,1507,595],[933,1547,79],[804,1452,1060],[1454,1455,1456],[1398,1460,1454],[1455,877,1456],[1277,1831,1825],[804,1060,1458],[1339,1459,1595],[1314,1104,1443],[933,1448,1547],[147,1460,1398],[1460,1461,1454],[1454,1461,1455],[1292,1125,1464],[417,1531,1480],[1459,1339,1325],[811,1756,335],[1512,936,1490],[777,1529,1098],[147,1475,1460],[1464,253,1459],[836,855,482],[1487,1486,1307],[1104,1501,1443],[1439,1200,1532],[1475,1469,1460],[1460,1469,1461],[1325,1464,1459],[1277,1825,1649],[1532,1200,1077],[844,877,1455],[1572,933,1466],[1479,568,973],[1509,335,1305],[1339,1595,1759],[1469,1476,1461],[1461,1476,1455],[1104,1470,1468],[1464,1472,253],[1117,1091,1407],[1756,1542,335],[1206,1395,1188],[335,1542,1330],[835,844,1455],[1471,1598,1462],[1491,1442,1441],[835,1455,1476],[1441,1442,1443],[1489,1474,1473],[1251,1236,1250],[1030,1452,1477],[1598,1439,1532],[978,1598,1492],[1426,1401,938],[1448,1584,1482],[1724,1497,1475],[1475,1497,1469],[1484,1535,932],[1307,1486,1113],[1487,696,1495],[1037,1491,1441],[1030,1446,936],[1453,1487,1495],[696,1467,1495],[1138,1489,1483],[1497,1143,1469],[1469,1143,1476],[652,1598,978],[850,1043,1150],[1482,1584,1320],[1731,98,1697],[1113,1554,1573],[1524,1532,1494],[1496,1467,696],[1452,1259,1477],[296,1504,1497],[1504,1143,1497],[1143,1499,1476],[718,910,1498],[868,1540,1528],[817,1253,810],[1490,696,1487],[1440,1491,1037],[1510,676,595],[1488,1492,1517],[781,1239,1397],[1467,1519,1503],[1500,1307,1759],[1149,397,452],[1504,1514,1143],[1514,842,1143],[1125,733,1458],[1503,1531,1555],[1276,1036,1137],[1440,723,1123],[1036,1508,1137],[817,1508,1253],[103,883,1112],[1458,731,1472],[1512,1490,1487],[1487,1453,1486],[1138,978,1488],[1036,1253,1508],[1398,149,147],[1474,1517,1513],[1125,1458,1472],[1486,1453,1554],[1518,1534,758],[345,1058,1062],[928,1202,1369],[1554,1541,1505],[1464,1125,1472],[1504,764,1514],[304,426,573],[1505,742,1506],[1479,1572,1478],[1519,1483,1489],[833,716,1069],[1522,1534,1518],[1115,1513,777],[811,335,1432],[1591,1533,1407],[777,1517,1529],[1513,1517,777],[1498,910,1397],[1069,1539,833],[833,1539,1537],[1522,1551,1534],[1534,1551,1523],[1538,1137,1523],[910,51,1397],[1367,1373,703],[1466,1525,1468],[157,1186,1832],[1429,1511,1506],[1573,1505,1506],[1259,1452,804],[1503,1495,1467],[262,483,780],[1572,1466,1468],[1536,1556,716],[716,1556,1069],[1544,1523,1551],[1544,1538,1523],[1511,1573,1506],[933,1572,1448],[1543,1537,1539],[1537,1543,1522],[1091,933,79],[1519,1540,1545],[1549,1445,86],[1069,1548,1539],[1548,1543,1539],[1543,1551,1522],[1500,1487,1307],[68,784,1186],[1552,1544,1551],[1550,1538,1544],[1538,1550,1137],[1519,1473,1540],[1547,1448,1482],[1560,1563,1536],[1536,1563,1556],[1556,1548,1069],[1543,1558,1551],[1137,1550,1276],[1453,1495,1555],[1561,1543,1548],[1543,1561,1558],[1558,1566,1551],[1552,1550,1544],[1569,1557,1550],[1557,1276,1550],[1276,1557,254],[1531,1503,1480],[1535,1530,1510],[1545,1503,1519],[1547,1482,79],[1566,1552,1551],[1552,1569,1550],[1503,1545,1480],[703,1377,309],[1625,675,756],[1037,1441,88],[929,254,1557],[849,1567,1560],[1556,1564,1548],[1492,1529,1517],[1252,1429,1506],[1553,1027,1429],[1453,1555,1541],[1554,1453,1541],[1233,686,1553],[1328,1104,1314],[1564,1576,1548],[1548,1576,1561],[1557,1562,929],[1520,112,1668],[1483,1446,1138],[778,1570,1567],[1563,1564,1556],[1561,1565,1558],[1565,1566,1558],[1569,1552,1566],[1562,1557,1569],[1530,1535,1484],[1387,1402,1395],[1621,1634,1387],[1567,1568,1560],[1560,1568,1563],[1571,1569,1566],[1344,1330,1542],[1577,1431,1353],[1638,233,304],[1524,1463,1529],[1353,1431,1175],[1077,1200,1413],[1478,1470,1104],[1568,1575,1563],[1563,1575,1564],[1575,1576,1564],[1561,1576,1565],[1565,1574,1566],[1562,1515,929],[1555,96,1541],[1531,417,96],[1555,1531,96],[1246,45,1651],[208,1577,1353],[1586,1568,1567],[1574,1571,1566],[1571,1583,1569],[1474,1513,1528],[1239,1322,1535],[1478,1572,1470],[1570,1586,1567],[1488,1517,1474],[8,1833,1837],[1123,1442,1491],[1589,1568,1586],[1576,1594,1565],[1565,1594,1574],[1562,198,1515],[1559,1441,1549],[1441,1443,1549],[1135,425,1481],[1239,1535,1507],[1595,1487,1500],[1570,1585,1586],[1589,1578,1568],[1568,1578,1575],[1579,1569,1583],[1177,1577,208],[115,1236,110],[1578,1593,1575],[1587,1576,1575],[1576,1581,1594],[1571,1582,1583],[1588,1579,1583],[1579,1580,1562],[1569,1579,1562],[1562,1580,198],[1027,1511,1429],[1589,1593,1578],[1587,1581,1576],[1582,1574,1594],[1574,1582,1571],[1575,1593,1587],[1583,1582,1588],[1580,1590,198],[1587,1593,1581],[1505,1541,96],[1369,1577,1177],[1573,1554,1505],[1479,1478,568],[1585,1589,1586],[1369,1177,704],[766,1584,1334],[977,1257,1059],[1091,1591,1407],[1591,1091,1457],[1585,1604,1589],[1581,1592,1594],[1602,1582,1594],[1582,1608,1588],[1608,1579,1588],[1579,1597,1580],[1419,1590,1580],[1597,1419,1580],[1431,1577,1291],[1589,1604,1593],[1601,1596,1593],[1593,1596,1581],[1306,1511,1027],[1511,1113,1573],[1786,1412,1585],[1412,1604,1585],[1581,1596,1592],[1592,1602,1594],[1608,1599,1579],[1599,1611,1579],[1579,1611,1597],[1512,1487,253],[1519,1489,1473],[1545,1540,868],[1083,1187,1402],[1117,1407,1400],[1292,733,1125],[284,1240,1245],[1604,1600,1593],[1600,1601,1593],[1582,1607,1608],[789,1369,704],[1467,1483,1519],[1601,1613,1596],[1596,1613,1592],[1602,1607,1582],[1620,1553,1252],[1601,1605,1613],[1592,1613,1602],[1602,1606,1607],[1608,1609,1599],[1599,1609,1611],[1603,1597,1611],[1265,1419,1597],[1603,1265,1597],[1392,1206,45],[928,1369,789],[1474,1528,1473],[1104,1468,1501],[1412,1521,1604],[1613,1631,1602],[1607,1610,1608],[1608,1610,1609],[1476,863,835],[1495,1503,1555],[1498,1397,718],[1520,1668,7],[1604,1615,1600],[1605,1601,1600],[1602,1631,1606],[1606,1610,1607],[1759,1595,1500],[1292,1298,733],[1615,1604,1521],[1609,1603,1611],[652,1462,1598],[1468,1525,1445],[1443,1501,1445],[1134,1723,150],[1521,1622,1615],[1615,1616,1600],[1616,1605,1600],[1605,1616,1612],[1605,1612,1613],[1612,1617,1613],[1613,1617,1631],[1606,1614,1610],[1265,1603,1403],[448,417,1480],[1595,253,1487],[1501,1468,1445],[1383,1456,877],[1490,1496,696],[1610,1627,1609],[1627,1621,1609],[1591,1481,1533],[1598,1471,1439],[1353,1261,703],[1606,1631,1614],[1609,1621,1403],[1532,1077,1494],[1528,1115,513],[1546,652,1446],[1211,928,1365],[1540,1473,1528],[1078,1502,1787],[1425,1430,1438],[1617,1630,1631],[959,749,944],[566,570,603],[1716,310,1521],[775,452,397],[1615,1636,1616],[1616,1636,1612],[1610,1632,1627],[789,704,1258],[1457,1481,1591],[1769,1756,811],[207,1629,722],[1629,1625,722],[1224,1277,1622],[1622,1636,1615],[1636,1646,1612],[1612,1630,1617],[1631,1626,1614],[1614,1632,1610],[1506,104,95],[1481,1457,1136],[1123,943,1442],[936,1446,1496],[1499,863,1476],[1629,1031,1625],[1233,1509,686],[1633,1634,1621],[1621,1387,1403],[1472,1512,253],[1177,208,704],[1277,1636,1622],[1626,1632,1614],[1627,1633,1621],[936,1496,1490],[185,1454,1451],[731,936,1512],[1638,1635,207],[553,1263,1264],[1653,1212,1639],[1633,1627,1632],[1633,1387,1634],[1458,1060,731],[368,1307,1113],[1264,1031,1629],[1152,850,1150],[1277,1644,1636],[1646,1637,1612],[1637,1630,1612],[1647,1631,1630],[1647,1626,1631],[1422,1524,1494],[1030,652,1546],[1635,1629,207],[1635,1264,1629],[1639,1646,1636],[1637,1640,1630],[1641,1632,1626],[1632,1642,1633],[1633,1643,1387],[842,1499,1143],[865,863,1499],[1516,978,1492],[67,1130,784],[1103,1505,96],[88,1441,1200],[1644,1639,1636],[1640,1647,1630],[1647,1641,1626],[1633,1648,1643],[1492,1532,1524],[1488,1516,1492],[1037,1471,1462],[612,1264,1635],[1502,1078,1124],[1641,1642,1632],[1648,1633,1642],[1528,513,868],[1492,1598,1532],[1095,991,760],[679,157,1664],[760,1128,1785],[1277,1650,1644],[320,1022,244],[1559,1549,86],[1676,1520,7],[1488,978,1516],[1095,760,1785],[1128,384,1120],[304,312,1638],[1081,1638,312],[1081,1635,1638],[103,612,1635],[652,1477,1462],[1650,1645,1644],[1645,1639,1644],[1639,1637,1646],[1640,1090,1647],[1654,1641,1647],[1654,1642,1641],[1654,1648,1642],[1643,1402,1387],[1432,335,1509],[384,1128,760],[1652,312,304],[103,1243,612],[1277,1649,1650],[1090,1654,1647],[1643,1648,1402],[1134,324,1675],[679,68,157],[1652,1081,312],[1136,301,803],[1653,1639,1645],[723,1440,1259],[803,854,1136],[104,1506,742],[1112,159,103],[1654,1083,1648],[977,1651,1257],[1397,1507,718],[1081,103,1635],[1650,677,1645],[1083,1402,1648],[1706,1655,1671],[1624,1704,1711],[767,2,1],[608,794,294],[1678,1683,1686],[767,1682,2],[1669,1692,1675],[296,1681,764],[1671,1656,1672],[17,1673,1679],[1706,1671,1673],[1662,1674,1699],[1655,1657,1656],[418,84,915],[1526,1514,764],[1658,1657,567],[870,1695,764],[813,1697,98],[1659,821,5],[60,1013,848],[1013,110,1213],[661,1038,1692],[1660,1703,17],[1693,1673,17],[1663,1715,1743],[1013,115,110],[344,1733,32],[1670,1663,1743],[1670,1743,1738],[1677,1670,1738],[1661,4,3],[1084,1683,1678],[1728,793,1130],[1683,1767,1196],[1677,1738,1196],[1279,1786,853],[294,1038,608],[1279,1689,1786],[870,18,1708],[870,1680,1695],[1705,10,1670],[1084,1767,1683],[1196,1738,1686],[1750,870,1681],[1750,18,870],[1773,1703,1660],[1135,47,425],[150,323,1134],[1707,1655,1706],[1741,344,1687],[1685,1691,1684],[1684,1691,802],[1672,1656,0],[1038,124,608],[1671,1672,1690],[1628,1218,1767],[1686,1275,1667],[1493,1750,1681],[1773,18,1750],[1773,1660,18],[1679,1671,16],[1735,1706,1673],[1667,1678,1686],[1688,1658,1],[1656,1688,0],[1293,1281,1458],[1698,1678,1667],[1696,1130,1722],[1698,1667,1696],[1715,1662,1699],[1692,1038,294],[1682,767,357],[1669,661,1692],[802,1702,824],[1028,1067,1784],[822,1624,778],[119,813,861],[1218,1670,1677],[1703,1693,17],[1658,1710,1],[750,1730,1729],[1701,750,1729],[1693,1735,1673],[1731,1694,98],[1691,1702,802],[783,1729,1719],[1680,870,1708],[1707,1709,1655],[533,756,675],[1691,1210,1702],[11,1705,1670],[1767,1218,1196],[1218,1677,1196],[1664,1716,1721],[1729,1725,1719],[1729,1072,1725],[1210,1116,1702],[1702,1720,824],[1682,1661,2],[1713,1719,1721],[1716,1786,1713],[1730,1722,1072],[294,1717,1811],[1692,294,1666],[1659,680,821],[824,1720,1714],[1726,1731,1718],[345,1062,1045],[1738,1743,1275],[1075,1089,1071],[783,1719,1689],[1275,684,1728],[1692,1666,1665],[1675,1692,1665],[294,1811,1666],[1716,1664,310],[1678,1698,1700],[6,9,1727],[676,649,595],[381,31,361],[1723,1804,1772],[1727,9,1694],[1720,1089,1714],[1786,1716,1412],[1683,1196,1686],[1718,1697,1085],[1116,1739,1702],[1739,1734,1720],[1702,1739,1720],[1089,1720,1734],[509,748,1745],[1743,1715,1726],[1717,294,794],[1116,1732,1739],[1718,1731,1697],[1696,1667,1130],[1134,1665,1723],[1694,712,98],[101,1687,102],[391,1736,101],[662,636,642],[1734,1447,1089],[1089,1447,1071],[436,99,493],[1689,1279,783],[1485,1465,1342],[1736,1687,101],[344,1741,1733],[1741,1742,1733],[1735,829,1706],[829,1707,1706],[1485,1332,1465],[952,1126,1742],[1747,1447,1734],[879,892,645],[1730,1146,1696],[829,1709,1707],[1709,1712,1655],[118,1739,1732],[1332,1744,1465],[1687,1749,1741],[1741,1758,1742],[679,1072,68],[1072,1722,68],[118,1747,1739],[1747,1734,1739],[1465,1744,1736],[1736,1740,1687],[1704,1701,783],[1665,624,1723],[1722,1130,67],[1025,1055,467],[1444,14,1701],[558,522,530],[1657,1658,1688],[1339,1746,1332],[1332,1748,1744],[1687,1740,1749],[1741,1749,1758],[1109,952,1742],[1747,118,141],[1671,1690,1628],[1671,1628,16],[1657,1688,1656],[1745,748,1447],[357,767,1710],[1746,1748,1332],[1146,1700,1698],[1759,1307,1338],[1239,781,1322],[1745,1447,1747],[522,1745,1747],[316,717,595],[148,1493,1724],[1758,1109,1742],[1725,1072,679],[726,719,1661],[1695,1680,1526],[1772,1750,1493],[148,1772,1493],[1542,1751,1101],[952,1109,1086],[1744,1752,1736],[1736,1752,1740],[1753,1755,1740],[391,1342,1736],[821,112,1520],[557,530,1747],[530,522,1747],[994,879,645],[1542,1756,1751],[1813,1693,1703],[1746,1754,1748],[1748,1764,1744],[1752,1757,1740],[1740,1757,1753],[1749,1740,1755],[1755,1763,1749],[1763,1758,1749],[1275,1743,684],[1813,1735,1693],[1107,1099,1101],[1723,624,1804],[1403,1603,1609],[1748,1754,1764],[1744,1757,1752],[1760,1109,1758],[1465,1736,1342],[436,115,99],[1686,1738,1275],[1751,1766,1101],[1759,1754,1746],[1755,1753,1763],[1570,1279,853],[1701,1146,750],[1655,1656,1671],[11,1670,1218],[1761,1751,1756],[1766,1107,1101],[1726,1623,1731],[1711,1704,1279],[67,784,68],[558,530,545],[1620,1618,1233],[1769,1761,1756],[102,1687,344],[1338,1754,1759],[1754,232,1764],[1744,1765,1757],[1757,1763,1753],[1762,1760,1758],[1760,1771,1109],[1339,1759,1746],[1675,1665,1134],[1730,1696,1722],[1774,1751,1761],[1766,1780,1107],[1780,1105,1107],[1764,1765,1744],[1763,1762,1758],[1772,1773,1750],[1811,1813,1703],[1434,1769,1432],[1780,1766,1751],[232,1781,1764],[1711,1279,1570],[1688,1,0],[1774,1780,1751],[1764,1781,1765],[1765,1768,1757],[1757,1768,1763],[1777,1782,1760],[1762,1777,1760],[1769,1774,1761],[1763,1777,1762],[1760,1782,1771],[232,1737,1781],[1768,1776,1763],[272,255,774],[1669,994,661],[1618,1769,1434],[1765,589,1768],[1770,1777,1763],[1701,1729,783],[1783,1774,1769],[1789,1780,1774],[589,1775,1768],[1776,1770,1763],[1782,1778,1771],[1771,1778,1070],[624,1703,1773],[624,1811,1703],[1620,1244,1618],[1779,1769,1618],[1779,1783,1769],[739,1735,1813],[1775,1776,1768],[1790,1777,1770],[1777,1778,1782],[1725,679,1721],[733,1293,1458],[1802,1618,1244],[1802,1779,1618],[1788,1783,1779],[1789,1774,1783],[1796,1780,1789],[1796,1119,1780],[1823,1817,325],[1699,1727,1623],[750,1146,1730],[1497,1724,296],[1128,1119,1796],[61,62,71],[1131,413,824],[1114,1111,249],[1784,1776,1775],[1123,723,1283],[1791,1788,1779],[1788,1789,1783],[1095,1797,1074],[1028,1784,1775],[1784,1770,1776],[1777,1790,1778],[1793,1797,1095],[1797,1800,1074],[1798,1790,1770],[1805,1802,1244],[1802,1791,1779],[1792,1789,1788],[1793,1785,1128],[1793,1095,1785],[1074,1800,1619],[741,457,593],[1798,1770,1784],[1798,1794,1790],[1786,1689,1713],[684,1726,1718],[1728,1085,793],[1795,1787,1502],[1806,1802,1805],[1819,1788,1791],[1067,1798,1784],[1790,1794,1778],[1795,1502,1124],[1801,1805,1787],[1807,1791,1802],[1807,1819,1791],[1819,1792,1788],[1799,1128,1796],[994,645,661],[684,1085,1728],[684,1718,1085],[1699,1623,1726],[1801,1787,1795],[1808,1789,1792],[1808,1796,1789],[1799,1793,1128],[1809,1797,1793],[1809,1803,1797],[1803,1800,1797],[1067,1794,1798],[774,255,1778],[1673,1671,1679],[879,1669,888],[19,1807,1802],[1810,1619,1800],[879,994,1669],[1794,774,1778],[1723,1772,148],[1804,1773,1772],[1814,1795,1124],[1649,1814,1124],[1814,1801,1795],[1812,1806,1805],[19,1802,1806],[19,1819,1807],[1810,1800,1803],[1804,624,1773],[1714,1131,824],[1801,1812,1805],[1812,19,1806],[1808,1792,1819],[1799,1809,1793],[1821,1810,1803],[1717,739,1813],[1061,1619,1822],[1794,1817,774],[79,1482,144],[1815,1801,1814],[23,1819,19],[589,1028,1775],[1817,1823,774],[1689,1719,1713],[1824,1814,1649],[1827,1818,1801],[1818,1812,1801],[1818,19,1812],[1818,20,19],[1816,1809,1799],[1821,1803,1809],[1822,1619,1810],[124,708,608],[1663,10,1715],[1815,1827,1801],[1820,1808,1819],[23,1820,1819],[603,1810,1821],[603,1822,1810],[1085,1697,793],[1628,1690,11],[1527,1704,1624],[1730,1072,1729],[1526,1444,1704],[1526,1680,1444],[1704,1444,1701],[1816,1821,1809],[1722,67,68],[317,272,1823],[1716,1713,1721],[16,1628,1767],[1527,1526,1704],[1824,1826,1814],[1814,1826,1815],[1818,21,20],[1835,1808,1820],[603,570,1822],[226,1070,1778],[1013,1181,1179],[1721,679,1664],[1717,1813,1811],[1828,1827,1815],[22,1820,23],[22,1835,1820],[1830,603,1821],[719,1659,5],[643,567,1657],[1717,794,739],[1825,1826,1824],[1828,1815,1826],[1829,21,1818],[1808,1835,13],[4,719,5],[10,1662,1715],[1828,1832,1827],[1832,1818,1827],[12,1833,1816],[1833,1821,1816],[1833,1830,1821],[14,1146,1701],[1186,1829,1818],[1280,603,1830],[14,1700,1146],[1667,1728,1130],[1825,1834,1826],[1834,1828,1826],[1832,1186,1818],[1836,13,1835],[1624,1711,1570],[778,1624,1570],[1719,1725,1721],[1002,1825,1831],[1002,1834,1825],[1834,1832,1828],[1186,21,1829],[1836,1835,22],[1837,1833,12],[1280,1830,1833],[1667,1275,1728],[16,1767,1084],[589,1765,1838],[1765,1781,1838],[1781,1737,1838],[1737,982,1838],[982,1053,1838],[1053,816,1838],[816,589,1838]]
},{}]},{},[])
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsImluZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsImV4cG9ydHMucG9zaXRpb25zPVtbMS4zMDE4OTUsMC4xMjI2MjIsMi41NTAwNjFdLFsxLjA0NTMyNiwwLjEzOTA1OCwyLjgzNTE1Nl0sWzAuNTY5MjUxLDAuMTU1OTI1LDIuODA1MTI1XSxbMC4yNTE4ODYsMC4xNDQxNDUsMi44MjkyOF0sWzAuMDYzMDMzLDAuMTMxNzI2LDMuMDE0MDhdLFstMC4yNzc3NTMsMC4xMzU4OTIsMy4xMDcxNl0sWy0wLjQ0MTA0OCwwLjI3NzA2NCwyLjU5NDMzMV0sWy0xLjAxMDk1NiwwLjA5NTI4NSwyLjY2ODk4M10sWy0xLjMxNzYzOSwwLjA2OTg5NywyLjMyNTQ0OF0sWy0wLjc1MTY5MSwwLjI2NDY4MSwyLjM4MTQ5Nl0sWzAuNjg0MTM3LDAuMzExMzQsMi4zNjQ1NzRdLFsxLjM0NzkzMSwwLjMwMjg4MiwyLjIwMTQzNF0sWy0xLjczNjkwMywwLjAyOTg5NCwxLjcyNDExMV0sWy0xLjMxOTk4NiwwLjExOTk4LDAuOTEyOTI1XSxbMS41MzgwNzcsMC4xNTczNzIsMC40ODE3MTFdLFsxLjk1MTk3NSwwLjA4MTc0MiwxLjE2NDFdLFsxLjgzNDc2OCwwLjA5NTgzMiwxLjYwMjY4Ml0sWzIuNDQ2MTIyLDAuMDkxODE3LDEuMzc1NThdLFsyLjYxNzYxNSwwLjA3ODY0NCwwLjc0MjgwMV0sWy0xLjYwOTc0OCwwLjA0OTczLC0wLjIzODcyMV0sWy0xLjI4MTk3MywwLjIzMDk4NCwtMC4xODA5MTZdLFstMS4wNzQ1MDEsMC4yNDgyMDQsMC4wMzQwMDddLFstMS4yMDE3MzQsMC4wNTg0OTksMC40MDIyMzRdLFstMS40NDQ0NTQsMC4wNTQ3ODMsMC4xNDk1NzldLFstNC42OTQ2MDUsNS4wNzU4ODIsMS4wNDM0MjddLFstMy45NTk2Myw3Ljc2NzM5NCwwLjc1ODQ0N10sWy00Ljc1MzMzOSw1LjMzOTgxNywwLjY2NTA2MV0sWy0xLjE1MDMyNSw5LjEzMzMyNywtMC4zNjg1NTJdLFstNC4zMTYxMDcsMi44OTM2MTEsMC40NDM5OV0sWy0wLjgwOTIwMiw5LjMxMjU3NSwtMC40NjYwNjFdLFswLjA4NTYyNiw1Ljk2MzY5MywxLjY4NTY2Nl0sWy0xLjMxNDg1Myw5LjAwMTQyLC0wLjEzMzldLFstNC4zNjQxODIsMy4wNzI1NTYsMS40MzY3MTJdLFstMi4wMjIwNzQsNy4zMjMzOTYsMC42Nzg2NTddLFsxLjk5MDg4Nyw2LjEzMDIzLDAuNDc5NjQzXSxbLTMuMjk1NTI1LDcuODc4OTE3LDEuNDA5MzUzXSxbMC41NzEzMDgsNi4xOTc1NjksMC42NzA2NTddLFswLjg5NjYxLDYuMjAwMTgsMC4zMzcwNTZdLFswLjMzMTg1MSw2LjE2MjM3MiwxLjE4NjM3MV0sWy00Ljg0MDA2Niw1LjU5OTg3NCwyLjI5NjA2OV0sWzIuMTM4OTg5LDYuMDMxMjkxLDAuMjI4MzM1XSxbMC42Nzg5MjMsNi4wMjYxNzMsMS44OTQwNTJdLFstMC43ODE2ODIsNS42MDE1NzMsMS44MzY3MzhdLFsxLjE4MTMxNSw2LjIzOTAwNywwLjM5MzI5M10sWy0zLjYwNjMwOCw3LjM3NjQ3NiwyLjY2MTQ1Ml0sWy0wLjU3OTA1OSw0LjA0MjUxMSwtMS41NDA4ODNdLFstMy4wNjQwNjksOC42MzAyNTMsLTIuNTk3NTM5XSxbLTIuMTU3MjcxLDYuODM3MDEyLDAuMzAwMTkxXSxbLTIuOTY2MDEzLDcuODIxNTgxLC0xLjEzNjk3XSxbLTIuMzQ0MjYsOC4xMjI5NjUsMC40MDkwNDNdLFstMC45NTE2ODQsNS44NzQyNTEsMS40MTUxMTldLFstMi44MzQ4NTMsNy43NDgzMTksMC4xODI0MDZdLFstMy4yNDI0OTMsNy44MjAwOTYsMC4zNzM2NzRdLFstMC4yMDg1MzIsNS45OTI4NDYsMS4yNTIwODRdLFstMy4wNDgwODUsOC40MzE1MjcsLTIuMTI5Nzk1XSxbMS40MTMyNDUsNS44MDYzMjQsMi4yNDM5MDZdLFstMC4wNTEyMjIsNi4wNjQ5MDEsMC42OTYwOTNdLFstNC4yMDQzMDYsMi43MDAwNjIsMC43MTM4NzVdLFstNC42MTA5OTcsNi4zNDM0MDUsMC4zNDQyNzJdLFstMy4yOTEzMzYsOS4zMDUzMSwtMy4zNDA0NDVdLFstMy4yNzIxMSw3LjU1OTIzOSwtMi4zMjQwMTZdLFstNC4yMzg4Miw2LjQ5ODM0NCwzLjE4NDUyXSxbLTMuOTQ1MzE3LDYuMzc3ODA0LDMuMzg2MjVdLFstNC45MDYzNzgsNS40NzIyNjUsMS4zMTUxOTNdLFstMy41ODAxMzEsNy44NDY3MTcsMC43MDk2NjZdLFstMS45OTU1MDQsNi42NDU0NTksMC42ODg0ODddLFstMi41OTU2NTEsNy44NjA1NCwwLjc5MzM1MV0sWy0wLjAwODg0OSwwLjMwNTg3MSwwLjE4NDQ4NF0sWy0wLjAyOTAxMSwwLjMxNDExNiwtMC4yNTczMTJdLFstMi41MjI0MjQsNy41NjUzOTIsMS44MDQyMTJdLFstMS4wMjI5OTMsOC42NTA4MjYsLTAuODU1NjA5XSxbLTMuODMxMjY1LDYuNTk1NDI2LDMuMjY2NzgzXSxbLTQuMDQyNTI1LDYuODU1NzI0LDMuMDYwNjYzXSxbLTQuMTcxMjYsNy40MDQ3NDIsMi4zOTEzODddLFszLjkwNDUyNiwzLjc2NzY5MywwLjA5MjE3OV0sWzAuMjY4MDc2LDYuMDg2ODAyLDEuNDY5MjIzXSxbLTMuMzIwNDU2LDguNzUzMjIyLC0yLjA4OTY5XSxbMS4yMDMwNDgsNi4yNjkyNSwwLjYxMjQwN10sWy00LjQwNjQ3OSwyLjk4NTk3NCwwLjg1MzY5MV0sWy0zLjIyNjg4OSw2LjYxNTIxNSwtMC40MDQyNDNdLFswLjM0NjMyNiwxLjYwMjExLDMuNTA5ODU4XSxbLTMuOTU1NDc2LDcuMjUzMzIzLDIuNzIyMzkyXSxbLTEuMjMyMDQsMC4wNjg5MzUsMS42ODc5NF0sWzAuNjI1NDM2LDYuMTk2NDU1LDEuMzMzMTU2XSxbNC40NjkxMzIsMi4xNjUyOTgsMS43MDUyNV0sWzAuOTUwMDUzLDYuMjYyODk5LDAuOTIyNDQxXSxbLTIuOTgwNDA0LDUuMjU0NzQsLTAuNjYzMTU1XSxbLTQuODU5MDQzLDYuMjg3NDEsMS41MzcwODFdLFstMy4wNzc0NTMsNC42NDE0NzUsLTAuODkyMTY3XSxbLTAuNDQwMDIsOC4yMjI1MDMsLTAuNzcxNDU0XSxbLTQuMDM0MTEyLDcuNjM5Nzg2LDAuMzg5OTM1XSxbLTMuNjk2MDQ1LDYuMjQyMDQyLDMuMzk0Njc5XSxbLTEuMjIxODA2LDcuNzgzNjE3LDAuMTk2NDUxXSxbMC43MTQ2MSw2LjE0OTg5NSwxLjY1NjYzNl0sWy00LjcxMzUzOSw2LjE2MzE1NCwwLjQ5NTM2OV0sWy0xLjUwOTg2OSwwLjkxMzA0NCwtMC44MzI0MTNdLFstMS41NDcyNDksMi4wNjY3NTMsLTAuODUyNjY5XSxbLTMuNzU3NzM0LDUuNzkzNzQyLDMuNDU1Nzk0XSxbLTAuODMxOTExLDAuMTk5Mjk2LDEuNzE4NTM2XSxbLTMuMDYyNzYzLDcuNTI3MTgsLTEuNTUwNTU5XSxbMC45Mzg2ODgsNi4xMDMzNTQsMS44MjA5NThdLFstNC4wMzcwMzMsMi40MTIzMTEsMC45ODgwMjZdLFstNC4xMzA3NDYsMi41NzE4MDYsMS4xMDE2ODldLFstMC42OTM2NjQsOS4xNzQyODMsLTAuOTUyMzIzXSxbLTEuMjg2NzQyLDEuMDc5Njc5LC0wLjc1MTIxOV0sWzEuNTQzMTg1LDEuNDA4OTI1LDMuNDgzMTMyXSxbMS41MzU5NzMsMi4wNDc5NzksMy42NTUwMjldLFswLjkzODQ0LDUuODQxMDEsMi4xOTUyMTldLFstMC42ODQ0MDEsNS45MTg0OTIsMS4yMDEwOV0sWzEuMjg4NDQsMi4wMDg2NzYsMy43MTA3ODFdLFstMy41ODY3MjIsNy40MzU1MDYsLTEuNDU0NzM3XSxbLTAuMTI5OTc1LDQuMzg0MTkyLDIuOTMwNTkzXSxbLTEuMDMwNTMxLDAuMjgxMzc0LDMuMjE0MjczXSxbLTMuMDU4NzUxLDguMTM3MjM4LC0zLjIyNzcxNF0sWzMuNjQ5NTI0LDQuNTkyMjI2LDEuMzQwMDIxXSxbLTMuMzU0ODI4LDcuMzIyNDI1LC0xLjQxMjA4Nl0sWzAuOTM2NDQ5LDYuMjA5MjM3LDEuNTEyNjkzXSxbLTEuMDAxODMyLDMuNTkwNDExLC0xLjU0NTg5Ml0sWy0zLjc3MDQ4Niw0LjU5MzI0MiwyLjQ3NzA1Nl0sWy0wLjk3MTkyNSwwLjA2Nzc5NywwLjkyMTM4NF0sWy00LjYzOTgzMiw2Ljg2NTQwNywyLjMxMTc5MV0sWy0wLjQ0MTAxNCw4LjA5MzU5NSwtMC41OTU5OTldLFstMi4wMDQ4NTIsNi4zNzE0MiwxLjYzNTM4M10sWzQuNzU5NTkxLDEuOTI4MTgsMC4zMjgzMjhdLFszLjc0ODA2NCwxLjIyNDA3NCwyLjE0MDQ4NF0sWy0wLjcwMzYwMSw1LjI4NTQ3NiwyLjI1MTk4OF0sWzAuNTk1MzIsNi4yMTg5MywwLjk4MTAwNF0sWzAuOTgwNzk5LDYuMjU3MDI2LDEuMjQyMjNdLFsxLjU3NDY5Nyw2LjIwNDk4MSwwLjM4MTYyOF0sWzEuMTQ5NTk0LDYuMTczNjA4LDEuNjYwNzYzXSxbLTMuNTAxOTYzLDUuODk1OTg5LDMuNDU2NTc2XSxbMS4wNzExMjIsNS40MjQxOTgsMi41ODg3MTddLFstMC43NzQ2OTMsOC40NzMzMzUsLTAuMjc2OTU3XSxbMy44NDk5NTksNC4xNTU0MiwwLjM5Njc0Ml0sWy0wLjgwMTcxNSw0Ljk3MzE0OSwtMS4wNjg1ODJdLFstMi45Mjc2NzYsMC42MjUxMTIsMi4zMjYzOTNdLFsyLjY2OTY4Miw0LjA0NTU0MiwyLjk3MTE4NF0sWy00LjM5MTMyNCw0Ljc0MDg2LDAuMzQzNDYzXSxbMS41MjAxMjksNi4yNzAwMzEsMC43NzU0NzFdLFsxLjgzNzU4Niw2LjA4NDczMSwwLjEwOTE4OF0sWzEuMjcxNDc1LDUuOTc1MDI0LDIuMDMyMzU1XSxbLTMuNDg3OTY4LDQuNTEzMjQ5LDIuNjA1ODcxXSxbLTEuMzIyMzQsMS41MTcyNjQsLTAuNjkxODc5XSxbLTEuMDgwMzAxLDEuNjQ4MjI2LC0wLjgwNTUyNl0sWy0zLjM2NTcwMyw2LjkxMDE2NiwtMC40NTQ5MDJdLFsxLjM2MDM0LDAuNDMyMjM4LDMuMDc1MDA0XSxbLTMuMzA1MDEzLDUuNzc0Njg1LDMuMzkxNDJdLFszLjg4NDMyLDAuNjU0MTQxLDAuMTI1NzRdLFszLjU3MjU0LDAuMzc3OTM0LDAuMzAyNTAxXSxbNC4xOTYxMzYsMC44MDc5OTksMC4yMTIyMjldLFszLjkzMjk5NywwLjU0MzEyMywwLjM4MDU3OV0sWzQuMDIzNzA0LDMuMjg2MTI1LDAuNTM3NTk3XSxbMS44NjQ0NTUsNC45MTY1NDQsMi42OTE2NzddLFstNC43NzU0MjcsNi40OTk0OTgsMS40NDAxNTNdLFstMy40NjQ5MjgsMy42ODIzNCwyLjc2NjM1Nl0sWzMuNjQ4OTcyLDEuNzUxMjYyLDIuMTU3NDg1XSxbMS4xNzkxMTEsMy4yMzg4NDYsMy43NzQ3OTZdLFstMC4xNzExNjQsMC4yOTkxMjYsLTAuNTkyNjY5XSxbLTQuNTAyOTEyLDMuMzE2NjU2LDAuODc1MTg4XSxbLTAuOTQ4NDU0LDkuMjE0MDI1LC0wLjY3OTUwOF0sWzEuMjM3NjY1LDYuMjg4NTkzLDEuMDQ2XSxbMS41MjM0MjMsNi4yNjg5NjMsMS4xMzk1NDRdLFsxLjQzNjUxOSw2LjE0MDYwOCwxLjczOTMxNl0sWzMuNzIzNjA3LDEuNTA0MzU1LDIuMTM2NzYyXSxbMi4wMDk0OTUsNC4wNDU1MTQsMy4yMjA1M10sWy0xLjkyMTk0NCw3LjI0OTkwNSwwLjIxMzk3M10sWzEuMjU0MDY4LDEuMjA1NTE4LDMuNDc0NzA5XSxbLTAuMzE3MDg3LDUuOTk2MjY5LDAuNTI1ODcyXSxbLTIuOTk2OTE0LDMuOTM0NjA3LDIuOTAwMTc4XSxbLTMuMzE2ODczLDQuMDI4MTU0LDIuNzg1Njk2XSxbLTMuNDAwMjY3LDQuMjgwMTU3LDIuNjg5MjY4XSxbLTMuMTM0ODQyLDQuNTY0ODc1LDIuNjk3MTkyXSxbMS40ODA1NjMsNC42OTI1NjcsMi44MzQwNjhdLFswLjg3MzY4MiwxLjMxNTQ1MiwzLjU0MTU4NV0sWzEuNTk5MzU1LDAuOTE2MjIsMy4yNDY3NjldLFstMy4yOTIxMDIsNy4xMjU5MTQsMi43Njg1MTVdLFszLjc0Mjk2LDQuNTExMjk5LDAuNjE2NTM5XSxbNC42OTg5MzUsMS41NTMzNiwwLjI2OTIxXSxbLTMuMjc0Mzg3LDMuMjk5NDIxLDIuODIzOTQ2XSxbLTIuODg4MDksMy40MTA2OTksMi45NTUyNDhdLFsxLjE3MTQwNywxLjc2OTA1LDMuNjg4NDcyXSxbMS40MzAyNzYsMy45MjQ4MywzLjQ3MzY2Nl0sWzMuOTE2OTQxLDIuNTUzMzA4LDAuMDE4OTQxXSxbMC43MDE2MzIsMi40NDIzNzIsMy43Nzg2MzldLFsxLjU2MjY1NywyLjMwMjc3OCwzLjY2MDk1N10sWzQuNDc2NjIyLDEuMTUyNDA3LDAuMTgyMTMxXSxbLTAuNjExMzYsNS43NjEzNjcsMS41OTg4MzhdLFstMy4xMDIxNTQsMy42OTE2ODcsMi45MDM3MzhdLFsxLjgxNjAxMiw1LjU0NjE2NywyLjM4MDMwOF0sWzMuODUzOTI4LDQuMjUwNjYsMC43NTAwMTddLFsxLjIzNDY4MSwzLjU4MTY2NSwzLjY3MzcyM10sWzEuODYyMjcxLDEuMzYxODYzLDMuMzU1MjA5XSxbMS4zNDY4NDQsNC4xNDY5OTUsMy4zMjc4NzddLFsxLjcwNjcyLDQuMDgwMDQzLDMuMjc0MzA3XSxbMC44OTcyNDIsMS45MDg5ODMsMy42OTY5XSxbLTAuNTg3MDIyLDkuMTkxMTMyLC0wLjU2NTMwMV0sWy0wLjIxNzQyNiw1LjY3NDYwNiwyLjAxOTk2OF0sWzAuMjc4OTI1LDYuMTIwNzc3LDAuNDg1NDAzXSxbMS40NjMzMjgsMy41Nzg3NDIsLTIuMDAxNDY0XSxbLTMuMDcyOTg1LDQuMjY0NTgxLDIuNzg5NTAyXSxbMy42MjM1Myw0LjY3Mzg0MywwLjM4MzQ1Ml0sWy0zLjA1MzQ5MSw4Ljc1MjM3NywtMi45MDg0MzRdLFstMi42Mjg2ODcsNC41MDUwNzIsMi43NTU2MDFdLFswLjg5MTA0Nyw1LjExMzc4MSwyLjc0ODI3Ml0sWy0yLjkyMzczMiwzLjA2NTE1LDIuODY2MzY4XSxbMC44NDgwMDgsNC43NTQyNTIsMi44OTY5NzJdLFstMy4zMTkxODQsOC44MTE2NDEsLTIuMzI3NDEyXSxbMC4xMjg2NCw4LjgxNDc4MSwtMS4zMzQ0NTZdLFsxLjU0OTUwMSw0LjU0OTMzMSwtMS4yODI0M10sWzEuNjQ3MTYxLDMuNzM4OTczLDMuNTA3NzE5XSxbMS4yNTA4ODgsMC45NDU1OTksMy4zNDg3MzldLFszLjgwOTY2Miw0LjAzODgyMiwwLjA1MzE0Ml0sWzEuNDgzMTY2LDAuNjczMzI3LDMuMDkxNTZdLFswLjgyOTcyNiwzLjYzNTkyMSwzLjcxMzEwM10sWzEuMzUyOTE0LDUuMjI2NjUxLDIuNjY4MTEzXSxbMi4yMzczNTIsNC4zNzQxNCwzLjAxNjM4Nl0sWzQuNTA3OTI5LDAuODg5NDQ3LDAuNzQ0MjQ5XSxbNC41NzMwNCwxLjAxMDk4MSwwLjQ5NjU4OF0sWzMuOTMxNDIyLDEuNzIwOTg5LDIuMDg4MTc1XSxbLTAuNDYzMTc3LDUuOTg5ODM1LDAuODM0MzQ2XSxbLTIuODExMjM2LDMuNzQ1MDIzLDIuOTY5NTg3XSxbLTIuODA1MTM1LDQuMjE5NzIxLDIuODQxMTA4XSxbLTIuODM2ODQyLDQuODAyNTQzLDIuNjA4MjZdLFsxLjc3NjcxNiwyLjA4NDYxMSwzLjU2ODYzOF0sWzQuMDQ2ODgxLDEuNDYzNDc4LDIuMTA2MjczXSxbMC4zMTYyNjUsNS45NDQzMTMsMS44OTI3ODVdLFstMi44NjM0NywyLjc3NjA0OSwyLjc3MjQyXSxbLTIuNjczNjQ0LDMuMTE2NTA4LDIuOTA3MTA0XSxbLTIuNjIxMTQ5LDQuMDE4NTAyLDIuOTAzNDA5XSxbLTIuNTczNDQ3LDUuMTk4MDEzLDIuNDc3NDgxXSxbMS4xMDQwMzksMi4yNzg5ODUsMy43MjI0NjldLFstNC42MDI3NDMsNC4zMDY0MTMsMC45MDIyOTZdLFstMi42ODQ4NzgsMS41MTA3MzEsMC41MzUwMzldLFswLjA5MjAzNiw4LjQ3MzI2OSwtMC45OTQxM10sWy0xLjI4MDQ3Miw1LjYwMjM5MywxLjkyODEwNV0sWy0xLjAyNzksNC4xMjE1ODIsLTEuNDAzMTAzXSxbLTIuNDYxMDgxLDMuMzA0NDc3LDIuOTU3MzE3XSxbLTIuMzc1OTI5LDMuNjU5MzgzLDIuOTUzMjMzXSxbMS40MTc1NzksMi43MTUzODksMy43MTg3NjddLFswLjgxOTcyNywyLjk0ODgyMywzLjgxMDYzOV0sWzEuMzI5OTYyLDAuNzYxNzc5LDMuMjAzNzI0XSxbMS43Mzk1Miw1LjI5NTIyOSwyLjUzNzcyNV0sWzAuOTUyNTIzLDMuOTQ1MDE2LDMuNTQ4MjI5XSxbLTIuNTY5NDk4LDAuNjMzNjY5LDIuODQ4MThdLFstMi4yNzY2NzYsMC43NTcwMTMsMi43ODA3MTddLFstMi4wMTMxNDcsNy4zNTQ0MjksLTAuMDAzMjAyXSxbMC45MzE0MywxLjU2NTkxMywzLjYwMDMyNV0sWzEuMjQ5MDE0LDEuNTUwNTU2LDMuNTg1ODQyXSxbMi4yODcyNTIsNC4wNzIzNTMsMy4xMjQ1NDRdLFstNC43MzQ5LDcuMDA2MjQ0LDEuNjkwNjUzXSxbLTMuNTAwNjAyLDguODAzODYsLTIuMDA5MTk2XSxbLTAuNTgyNjI5LDUuNTQ5MTM4LDIuMDAwOTIzXSxbLTEuODY1Mjk3LDYuMzU2MDY2LDEuMzEzNTkzXSxbLTMuMjEyMTU0LDIuMzc2MTQzLC0wLjU2NTU5M10sWzIuMDkyODg5LDMuNDkzNTM2LC0xLjcyNzkzMV0sWy0yLjUyODUwMSwyLjc4NDUzMSwyLjgzMzc1OF0sWy0yLjU2NTY5Nyw0Ljg5MzE1NCwyLjU1OTYwNV0sWy0yLjE1MzM2Niw1LjA0NTg0LDIuNDY1MjE1XSxbMS42MzEzMTEsMi41NjgyNDEsMy42ODE0NDVdLFsyLjE1MDE5Myw0LjY5OTIyNywyLjgwNzUwNV0sWzAuNTA3NTk5LDUuMDE4MTMsMi43NzU4OTJdLFs0LjEyOTg2MiwxLjg2MzY5OCwyLjAxNTEwMV0sWzMuNTc4Mjc5LDQuNTA3NjYsLTAuMDA5NTk4XSxbMy40OTEwMjMsNC44MDY3NDksMS41NDkyNjVdLFswLjYxOTQ4NSwxLjYyNTMzNiwzLjYwNTEyNV0sWzEuMTA3NDk5LDIuOTMyNTU3LDMuNzkwMDYxXSxbLTIuMDgyMjkyLDYuOTkzMjEsMC43NDI2MDFdLFs0LjgzOTkwOSwxLjM3OTI3OSwwLjk0NTI3NF0sWzMuNTkxMzI4LDQuMzIyNjQ1LC0wLjI1OTQ5N10sWzEuMDU1MjQ1LDAuNzEwNjg2LDMuMTY1NTNdLFstMy4wMjY0OTQsNy44NDIyMjcsMS42MjQ1NTNdLFswLjE0NjU2OSw2LjExOTIxNCwwLjk4MTY3M10sWy0yLjA0MzY4NywyLjYxNDUwOSwyLjc4NTUyNl0sWy0yLjMwMjI0MiwzLjA0Nzc3NSwyLjkzNjM1NV0sWy0yLjI0NTY4Niw0LjEwMDQyNCwyLjg3Nzk0XSxbMi4xMTYxNDgsNS4wNjM1MDcsMi41NzIyMDRdLFstMS40NDg0MDYsNy42NDU1OSwwLjI1MTY5Ml0sWzIuNTUwNzE3LDQuOTI2OCwyLjUxNzUyNl0sWy0yLjk1NTQ1Niw3LjgwMjkzLC0xLjc4MjQwN10sWzEuODgyOTk1LDQuNjM3MTY3LDIuODk1NDM2XSxbLTIuMDE0OTI0LDMuMzk4MjYyLDIuOTU0ODk2XSxbLTIuMjczNjU0LDQuNzcxMjI3LDIuNjExNDE4XSxbLTIuMTYyNzIzLDcuODc2NzYxLDAuNzAyNDczXSxbLTAuMTk4NjU5LDUuODIzMDYyLDEuNzM5MjcyXSxbLTEuMjgwOTA4LDIuMTMzMTg5LC0wLjkyMTI0MV0sWzIuMDM5OTMyLDQuMjUxNTY4LDMuMTM2NTc5XSxbMS40Nzc4MTUsNC4zNTQzMzMsMy4xMDgzMjVdLFswLjU2MDUwNCwzLjc0NDEyOCwzLjY5MTNdLFstMi4yMzQwMTgsMS4wNTQzNzMsMi4zNTI3ODJdLFstMy4xODkxNTYsNy42ODY2NjEsLTIuNTE0OTU1XSxbLTMuNzQ0NzM2LDcuNjk5NjMsMi4xMTY5NzNdLFstMi4yODMzNjYsMi44NzgzNjUsMi44Nzg4Ml0sWy0yLjE1Mzc4Niw0LjQ1NzQ4MSwyLjc0MzUyOV0sWzQuOTMzOTc4LDEuNjc3Mjg3LDAuNzEzNzczXSxbMy41MDIxNDYsMC41MzUzMzYsMS43NTI1MTFdLFsxLjgyNTE2OSw0LjQxOTI1MywzLjA4MTE5OF0sWzMuMDcyMzMxLDAuMjgwOTc5LDAuMTA2NTM0XSxbLTAuNTA4MzgxLDEuMjIwMzkyLDIuODc4MDQ5XSxbLTMuMTM4ODI0LDguNDQ1Mzk0LC0xLjY1OTcxMV0sWy0yLjA1NjQyNSwyLjk1NDgxNSwyLjg5NzI0MV0sWy0yLjAzNTM0Myw1LjM5ODQ3NywyLjIxNTg0Ml0sWy0zLjIzOTkxNSw3LjEyNjc5OCwtMC43MTI1NDddLFstMS44Njc5MjMsNy45ODk4MDUsMC41MjY1MThdLFsxLjIzNDA1LDYuMjQ4OTczLDEuMzg3MTg5XSxbLTAuMjE2NDkyLDguMzIwOTMzLC0wLjg2MjQ5NV0sWy0yLjA3OTY1OSwzLjc1NTcwOSwyLjkyODU2M10sWy0xLjc4NTk1LDQuMzAwMzc0LDIuODA1Mjk1XSxbLTEuODU2NTg5LDUuMTA2NzgsMi4zODY1NzJdLFstMS43MTQzNjIsNS41NDQ3NzgsMi4wMDQ2MjNdLFsxLjcyMjQwMyw0LjIwMDI5MSwtMS40MDgxNjFdLFswLjE5NTM4NiwwLjA4NjkyOCwtMS4zMTgwMDZdLFsxLjM5MzY5MywzLjAxMzQwNCwzLjcxMDY4Nl0sWy0wLjQxNTMwNyw4LjUwODQ3MSwtMC45OTY4ODNdLFstMS44NTM3NzcsMC43NTU2MzUsMi43NTcyNzVdLFstMS43MjQwNTcsMy42NDUzMywyLjg4NDI1MV0sWy0xLjg4NDUxMSw0LjkyNzgwMiwyLjUzMDg4NV0sWy0xLjAxNzE3NCw3Ljc4MzkwOCwtMC4yMjcwNzhdLFstMS43Nzk4LDIuMzQyNTEzLDIuNzQxNzQ5XSxbLTEuODQxMzI5LDMuOTQzOTk2LDIuODg0MzZdLFsxLjQzMDM4OCw1LjQ2ODA2NywyLjUwMzQ2N10sWy0yLjAzMDI5NiwwLjk0MDAyOCwyLjYxMTA4OF0sWy0xLjY3NzAyOCwxLjIxNTY2NiwyLjYwNzc3MV0sWy0xLjc0MDkyLDIuODMyNTY0LDIuODI3Mjk1XSxbNC4xNDQ2NzMsMC42MzEzNzQsMC41MDMzNThdLFs0LjIzODgxMSwwLjY1Mzk5MiwwLjc2MjQzNl0sWy0xLjg0NzAxNiwyLjA4MjgxNSwyLjY0MjY3NF0sWzQuMDQ1NzY0LDMuMTk0MDczLDAuODUyMTE3XSxbLTEuNTYzOTg5LDguMTEyNzM5LDAuMzAzMTAyXSxbLTEuNzgxNjI3LDEuNzk0ODM2LDIuNjAyMzM4XSxbLTEuNDkzNzQ5LDIuNTMzNzk5LDIuNzk3MjUxXSxbLTEuOTM0NDk2LDQuNjkwNjg5LDIuNjU4OTk5XSxbLTEuNDk5MTc0LDUuNzc3OTQ2LDEuNzQ3NDk4XSxbLTIuMzg3NDA5LDAuODUxMjkxLDEuNTAwNTI0XSxbLTEuODcyMjExLDguMjY5OTg3LDAuMzkyNTMzXSxbLTQuNjQ3NzI2LDYuNzY1NzcxLDAuODMzNjUzXSxbLTMuMTU3NDgyLDAuMzQxOTU4LC0wLjIwNjcxXSxbLTEuNzI1NzY2LDMuMjQ3MDMsMi44ODM1NzldLFstMS40NTgxOTksNC4wNzkwMzEsMi44MzYzMjVdLFstMS42MjE1NDgsNC41MTU4NjksMi43MTkyNjZdLFstMS42MDcyOTIsNC45MTg5MTQsMi41MDU4ODFdLFstMS40OTQ2NjEsNS41NTYyMzksMS45OTE1OTldLFstMS43MjcyNjksNy40MjM3NjksMC4wMTIzMzddLFstMS4zODI0OTcsMS4xNjEzMjIsMi42NDAyMjJdLFstMS41MjEyOSw0LjY4MTcxNCwyLjYxNTQ2N10sWy00LjI0NzEyNywyLjc5MjgxMiwxLjI1MDg0M10sWy0xLjU3NjMzOCwwLjc0Mjk0NywyLjc2OTc5OV0sWy0xLjQ5OTI1NywyLjE3Mjc2MywyLjc0MzE0Ml0sWy0xLjQ4MDM5MiwzLjEwMzI2MSwyLjg2MjI2Ml0sWzEuMDQ5MTM3LDIuNjI1ODM2LDMuNzc1Mzg0XSxbLTEuMzY4MDYzLDEuNzkxNTg3LDIuNjk1NTE2XSxbLTEuMzA3ODM5LDIuMzQ0NTM0LDIuNzY3NTc1XSxbLTEuMzM2NzU4LDUuMDkyMjIxLDIuMzU1MjI1XSxbLTEuNTYxNyw1LjMwMTc0OSwyLjIxNjI1XSxbLTEuNDgzMzYyLDguNTM3NzA0LDAuMTk2NzUyXSxbLTEuNTE3MzQ4LDguNzczNjE0LDAuMDc0MDUzXSxbLTEuNDc0MzAyLDEuNDkyNzMxLDIuNjQxNDMzXSxbMi40ODcxOCwwLjY0NDI0NywtMC45MjAyMjZdLFswLjgxODA5MSwwLjQyMjY4MiwzLjE3MTIxOF0sWy0zLjYyMzM5OCw2LjkzMDA5NCwzLjAzMzA0NV0sWzEuNjc2MzMzLDMuNTMxMDM5LDMuNTkxNTkxXSxbMS4xOTk5MzksNS42ODM4NzMsMi4zNjU2MjNdLFstMS4yMjM4NTEsOC44NDEyMDEsMC4wMjU0MTRdLFstMS4yODYzMDcsMy44NDc2NDMsMi45MTgwNDRdLFstMS4yNTg1Nyw0LjgxMDgzMSwyLjU0MzYwNV0sWzIuNjAzNjYyLDUuNTcyMTQ2LDEuOTkxODU0XSxbMC4xMzg5ODQsNS43Nzk3MjQsMi4wNzc4MzRdLFstMS4yNjcwMzksMy4xNzUxNjksMi44OTA4ODldLFstMS4yOTM2MTYsMy40NTQ2MTIsMi45MTE3NzRdLFstMi42MDExMiwxLjI3NzE4NCwwLjA3NzI0XSxbMi41NTI3NzksMy42NDk4NzcsMy4xNjM2NDNdLFstMS4wMzg5ODMsMS4yNDgwMTEsMi42MDU5MzNdLFstMS4yODg3MDksNC4zOTA5NjcsMi43NjEyMTRdLFstMS4wMzQyMTgsNS40ODU5NjMsMi4wMTE0NjddLFstMS4xODU1NzYsMS40NjQ4NDIsMi42MjQzMzVdLFstMS4wNDU2ODIsMi41NDg5NiwyLjc2MTEwMl0sWzQuMjU5MTc2LDEuNjYwNjI3LDIuMDE4MDk2XSxbLTAuOTYxNzA3LDEuNzE3MTgzLDIuNTk4MzQyXSxbLTEuMDQ0NjAzLDMuMTQ3NDY0LDIuODU1MzM1XSxbLTAuODkxOTk4LDQuNjg1NDI5LDIuNjY5Njk2XSxbLTEuMDI3NTYxLDUuMDgxNjcyLDIuMzc3OTM5XSxbNC4zODY1MDYsMC44MzI0MzQsMC41MTAwNzRdLFstMS4wMTQyMjUsOS4wNjQ5OTEsLTAuMTc1MzUyXSxbLTEuMjE4NzUyLDIuODk1NDQzLDIuODIzNzg1XSxbLTAuOTcyMDc1LDQuNDMyNjY5LDIuNzg4MDA1XSxbLTIuNzE0OTg2LDAuNTI0MjUsMS41MDk3OThdLFstMC42OTkyNDgsMS41MTcyMTksMi42NDU3MzhdLFstMS4xNjE1ODEsMi4wNzg4NTIsMi43MjI3OTVdLFstMC44NDUyNDksMy4yODYyNDcsMi45OTY0NzFdLFsxLjA2ODMyOSw0LjQ0MzQ0NCwyLjk5Mzg2M10sWzMuOTgxMzIsMy43MTU1NTcsMS4wMjc3NzVdLFsxLjY1ODA5NywzLjk4MjQyOCwtMS42NTE2ODhdLFstNC4wNTM3MDEsMi40NDk4ODgsMC43MzQ3NDZdLFstMC45MTA5MzUsMi4yMTQxNDksMi43MDIzOTNdLFswLjA4NzgyNCwzLjk2MTY1LDMuNDM5MzQ0XSxbLTAuNzc5NzE0LDMuNzI0MTM0LDIuOTkzNDI5XSxbLTEuMDUxMDkzLDMuODEwNzk3LDIuOTQxOTU3XSxbLTAuNjQ0OTQxLDQuMzg1OSwyLjg3MDg2M10sWy0yLjk4NDAzLDguNjY2ODk1LC0zLjY5MTg4OF0sWy0wLjc1NDMwNCwyLjUwODMyNSwyLjgxMjk5OV0sWy00LjYzNTUyNCwzLjY2Mjg5MSwwLjkxMzAwNV0sWy0wLjk4MzI5OSw0LjEyNTk3OCwyLjkxNTM3OF0sWzQuOTE2NDk3LDEuOTA1MjA5LDAuNjIxMzE1XSxbNC44NzQ5ODMsMS43Mjg0MjksMC40Njg1MjFdLFsyLjMzMTI3LDUuMTgxOTU3LDIuNDQxNjk3XSxbLTAuNjUzNzExLDIuMjUzMzg3LDIuNzk0OV0sWy0zLjYyMzc0NCw4Ljk3ODc5NSwtMi40NjE5Ml0sWy00LjU1NTkyNyw2LjE2MDI3OSwwLjIxNTc1NV0sWy00Ljk0MDYyOCw1LjgwNjcxMiwxLjE4MzgzXSxbMy4zMDg1MDYsMi40MDMyNiwtMC45MTA3NzZdLFswLjU4ODM1LDUuMjUxOTI4LC0wLjk5Mjg4Nl0sWzIuMTUyMjE1LDUuNDQ5NzMzLDIuMzMxNjc5XSxbLTAuNzEyNzU1LDAuNzY2NzY1LDMuMjgwMzc1XSxbLTAuNzQxNzcxLDEuOTcxNiwyLjY1NzIzNV0sWy00LjgyODk1Nyw1LjU2Njk0NiwyLjYzNTYyM10sWy0zLjQ3NDc4OCw4LjY5Njc3MSwtMS43NzYxMjFdLFsxLjc3MDQxNyw2LjIwNTU2MSwxLjMzMTYyN10sWy0wLjYyMDYyNiw0LjA2NDcyMSwyLjk2ODk3Ml0sWy0xLjQ5OTE4NywyLjMwNzczNSwtMC45Nzg5MDFdLFs0LjA5ODc5MywyLjMzMDI0NSwxLjY2Nzk1MV0sWzEuOTQwNDQ0LDYuMTY3MDU3LDAuOTM1OTA0XSxbLTIuMzE0NDM2LDEuMTA0OTk1LDEuNjgxMjc3XSxbLTIuNzMzNjI5LDcuNzQyNzkzLDEuNzcwNV0sWy0wLjQ1MjI0OCw0LjcxOTg2OCwyLjc0MDgzNF0sWy0wLjY0OTE0Myw0Ljk1MTcxMywyLjU0MTI5Nl0sWy0wLjQ3OTQxNyw5LjQzOTU5LC0wLjY3NjMyNF0sWy0yLjI1MTg1Myw2LjU1OTI3NSwwLjA0NjgxOV0sWzAuMDMzNTMxLDguMzE2OTA3LC0wLjc4OTkzOV0sWy0wLjUxMzEyNSwwLjk5NTY3MywzLjEyNTQ2Ml0sWy0yLjYzNzYwMiwxLjAzOTc0NywwLjYwMjQzNF0sWzEuNTI3NTEzLDYuMjMwMDg5LDEuNDMwOTAzXSxbNC4wMzYxMjQsMi42MDk4NDYsMS41MDY0OThdLFstMy41NTk4MjgsNy44Nzc4OTIsMS4yMjgwNzZdLFstNC41NzA3MzYsNC45NjAxOTMsMC44MzgyMDFdLFstMC40MzIxMjEsNS4xNTc3MzEsMi40Njc1MThdLFstMS4yMDY3MzUsNC41NjI1MTEsLTEuMjM3MDU0XSxbLTAuODIzNzY4LDMuNzg4NzQ2LC0xLjU2NzQ4MV0sWy0zLjA5NTU0NCw3LjM1MzYxMywtMS4wMjQ1NzddLFstNC4wNTYwODgsNy42MzExMTksMi4wNjIwMDFdLFstMC4yODkzODUsNS4zODIyNjEsMi4zMjk0MjFdLFsxLjY5NzUyLDYuMTM2NDgzLDEuNjY3MDM3XSxbLTAuMTY4NzU4LDUuMDYxMTM4LDIuNjE3NDUzXSxbMi44NTM1NzYsMS42MDU1MjgsLTEuMjI5OTU4XSxbLTQuNTE0MzE5LDYuNTg2Njc1LDAuMzUyNzU2XSxbLTIuNTU4MDgxLDcuNzQxMTUxLDEuMjkyOTVdLFsxLjYxMTE2LDUuOTIzNTgsMi4wNzE1MzRdLFszLjkzNjkyMSwzLjM1NDg1NywwLjA5MTc1NV0sWy0wLjE2MzMsMS4xMTkyNzIsMy4xNDc5NzVdLFswLjA2NzU1MSwxLjU5MzQ3NSwzLjM4MjEyXSxbLTEuMzAzMjM5LDIuMzI4MTg0LC0xLjAxMTY3Ml0sWy0wLjQzODA5MywwLjczNDIzLDMuMzk4Mzg0XSxbLTQuNjI3NjcsMy44OTgxODcsMC44NDk1NzNdLFswLjI4Njg1Myw0LjE2NTI4MSwzLjI4NDgzNF0sWy0yLjk2ODA1Miw4LjQ5MjgxMiwtMy40OTM2OTNdLFstMC4xMTE4OTYsMy42OTYxMTEsMy41Mzc5MV0sWy0zLjgwODI0NSw4LjQ1MTczMSwtMS41NzQ3NDJdLFswLjA1MzQxNiw1LjU1ODc2NCwyLjMxMTA3XSxbMy45NTYyNjksMy4wMTIwNzEsMC4xMTEyMV0sWy0wLjcxMDk1Niw4LjEwNjU2MSwtMC42NjUxNTRdLFswLjIzNDcyNSwyLjcxNzMyNiwzLjcyMjM3OV0sWy0wLjAzMTU5NCwyLjc2NDExLDMuNjU3MzQ3XSxbLTAuMDE3MzcxLDQuNzAwNjMzLDIuODE5MTFdLFswLjIxNTA2NCw1LjAzNDg1OSwyLjcyMTQyNl0sWy0wLjExMTE1MSw4LjQ4MDMzMywtMC42NDkzOTldLFszLjk3OTQyLDMuNTc1NDc4LDAuMzYyMjE5XSxbMC4zOTI5NjIsNC43MzUzOTIsMi44NzQzMjFdLFs0LjE3MDE1LDIuMDg1MDg3LDEuODY1OTk5XSxbMC4xNjkwNTQsMS4yNDQ3ODYsMy4zMzc3MDldLFswLjAyMDA0OSwzLjE2NTgxOCwzLjcyMTczNl0sWzAuMjQ4MjEyLDMuNTk1NTE4LDMuNjk4Mzc2XSxbMC4xMzA3MDYsNS4yOTU1NDEsMi41NDAwMzRdLFstNC41NDEzNTcsNC43OTgzMzIsMS4wMjY4NjZdLFstMS4yNzc0ODUsMS4yODk1MTgsLTAuNjY3MjcyXSxbMy44OTIxMzMsMy41NDI2MywtMC4wNzgwNTZdLFs0LjA1NzM3OSwzLjAzNjY5LDAuOTk3OTEzXSxbMC4yODc3MTksMC44ODQ3NTgsMy4yNTE3ODddLFswLjUzNTc3MSwxLjE0NDcwMSwzLjQwMDA5Nl0sWzAuNTg1MzAzLDEuMzk5MzYyLDMuNTA1MzUzXSxbMC4xOTE1NTEsMi4wNzYyNDYsMy41NDkzNTVdLFswLjMyODY1NiwyLjM5NDU3NiwzLjY0OTYyM10sWzAuNDEzMTI0LDMuMjQwNzI4LDMuNzcxNTE1XSxbMC42MzAzNjEsNC41MDE1NDksMi45NjM2MjNdLFswLjUyOTQ0MSw1Ljg1NDM5MiwyLjEyMDIyNV0sWzMuODA1Nzk2LDMuNzY5OTU4LC0wLjE2MjA3OV0sWzMuNDQ3Mjc5LDQuMzQ0ODQ2LC0wLjQ2NzI3Nl0sWzAuMzc3NjE4LDUuNTUxMTE2LDIuNDI2MDE3XSxbMC40MDkzNTUsMS44MjEyNjksMy42MDYzMzNdLFswLjcxOTk1OSwyLjE5NDcyNiwzLjcwMzg1MV0sWzAuNDk1OTIyLDMuNTAxNTE5LDMuNzU1NjYxXSxbMC42MDM0MDgsNS4zNTQwOTcsMi42MDMwODhdLFstNC42MDUwNTYsNy41MzE5NzgsMS4xOTU3OV0sWzAuOTA3OTcyLDAuOTczMTI4LDMuMzU2NTEzXSxbMC43NTAxMzQsMy4zNTYxMzcsMy43NjU4NDddLFswLjQ0OTYsMy45OTMyNDQsMy41MDQ1NDRdLFstMy4wMzA3MzgsNy40ODk0NywtMS4yNTkxNjldLFswLjcwNzUwNSw1LjYwMjAwNSwyLjQzNDc2XSxbMC42Njg5NDQsMC42NTQ4OTEsMy4yMTM3OTddLFswLjU5MzI0NCwyLjcwMDk3OCwzLjc5MTQyN10sWzEuNDY3NzU5LDMuMzAzMjcsMy43MTAzNV0sWzMuMzE2MjQ5LDIuNDM2Mzg4LDIuNTgxMTc1XSxbMy4yNjEzOCwxLjcyNDQyNSwyLjUzOTAyOF0sWy0xLjIzMTI5Miw3Ljk2ODI2MywwLjI4MTQxNF0sWy0wLjEwODc3Myw4LjcxMjMwNywtMC43OTA2MDddLFs0LjQ0NTY4NCwxLjgxOTQ0MiwxLjg5Njk4OF0sWzEuOTk4OTU5LDIuMjgxNDk5LDMuNDk0NDddLFsyLjE2MjI2OSwyLjExMzgxNywzLjM2NTQ0OV0sWzQuMzYzMzk3LDEuNDA2NzMxLDEuOTIyNzE0XSxbNC44MDgsMi4yMjU4NDIsMC42MTExMjddLFsyLjczNTkxOSwwLjc3MTgxMiwtMC43MDExNDJdLFsxLjg5NzczNSwyLjg3ODQyOCwzLjU4MzQ4Ml0sWy0zLjMxNjE2LDUuMzMxOTg1LDMuMjEyMzk0XSxbLTMuMzMxNCw2LjAxODEzNywzLjMxMzAxOF0sWy0zLjUwMzE4Myw2LjQ4MDEwMywzLjIyMjIxNl0sWy0xLjkwNDQ1Myw1Ljc1MDM5MiwxLjkxMzMyNF0sWy0xLjMzOTczNSwzLjU1OTU5MiwtMS40MjE4MTddLFstMS4wNDQyNDIsOC4yMjUzOSwwLjAzNzQxNF0sWzEuNjQzNDkyLDMuMTEwNjc2LDMuNjQ3NDI0XSxbMy45OTI4MzIsMy42ODYyNDQsMC43MTA5NDZdLFsxLjc3NDIwNywxLjcxODQyLDMuNDc1NzY4XSxbLTMuNDM4ODQyLDUuNTcxMywzLjQyNzgxOF0sWzQuNjAyNDQ3LDEuMjU4MywxLjYxOTUyOF0sWy0wLjkyNTUxNiw3LjkzMDA0MiwwLjA3MjMzNl0sWy0xLjI1MjA5MywzLjg0NjU2NSwtMS40MjA3NjFdLFstMy40MjY4NTcsNS4wNzI0MTksMi45NzgwNl0sWy0zLjE2MDQwOCw2LjE1MjYyOSwzLjA2MTg2OV0sWzMuNzM5OTMxLDMuMzY3MDgyLDIuMDQxMjczXSxbMS4wMjc0MTksNC4yMzU4OTEsMy4yNTEyNTNdLFs0Ljc3NzcwMywxLjg4NzQ1MiwxLjU2MDQwOV0sWy0zLjMxODUyOCw2LjczMzc5NiwyLjk4Mjk2OF0sWzIuOTI5MjY1LDQuOTYyNTc5LDIuMjcxMDc5XSxbMy40NDk3NjEsMi44Mzg2MjksMi40NzQ1NzZdLFstMy4yODAxNTksNS4wMjk4NzUsMi43ODc1MTRdLFs0LjA2ODkzOSwyLjk5MzYyOSwwLjc0MTU2N10sWzAuMzAzMzEyLDguNzA5MjcsLTEuMTIxOTcyXSxbMC4yMjk4NTIsOC45ODEzMjIsLTEuMTg2MDc1XSxbLTAuMDExMDQ1LDkuMTQ4MTU2LC0xLjA0NzA1N10sWy0yLjk0MjY4Myw1LjU3OTYxMywyLjkyOTI5N10sWy0zLjE0NTQwOSw1LjY5ODcyNywzLjIwNTc3OF0sWy0zLjAxOTA4OSw2LjMwODg3LDIuNzk0MzIzXSxbLTMuMjE3MTM1LDYuNDY4MTkxLDIuOTcwMDMyXSxbLTMuMDQ4Mjk4LDYuOTkzNjQxLDIuNjIzMzc4XSxbLTMuMDc0MjksNi42NjA5ODIsMi43MDI0MzRdLFszLjYxMjAxMSwyLjU1NzQsMi4yNTM0OV0sWzIuNTQ1MTYsNC41NTM5NjcsMi43NTg4NF0sWy0xLjY4Mzc1OSw3LjQwMDc4NywwLjI1MDg2OF0sWy0xLjc1NjA2Niw3LjQ2MzU1NywwLjQ0ODAzMV0sWy0zLjAyMzc2MSw1LjE0OTY5NywyLjY3MzUzOV0sWzMuMTEyMzc2LDIuNjc3MjE4LDIuNzgyMzc4XSxbMi44MzUzMjcsNC41ODExOTYsMi41NjcxNDZdLFstMi45NzM3OTksNy4yMjU0NTgsMi41MDY5ODhdLFstMC41OTE2NDUsOC43NDA2NjIsLTAuNTA1ODQ1XSxbMy43ODI4NjEsMi4wNDMzNywyLjAzMDY2XSxbMy4zMzE2MDQsMy4zNjM0MywyLjYwNTA0N10sWzIuOTY2ODY2LDEuMjA1NDk3LDIuNTM3NDMyXSxbMC4wMDI2NjksOS42NTQ3NDgsLTEuMzU1NTU5XSxbMi42MzI4MDEsMC41ODQ5NywyLjU0MDMxMV0sWy0yLjgxOTM5OCw1LjA4NzM3MiwyLjUyMTA5OF0sWzIuNjE2MTkzLDUuMzMyOTYxLDIuMTk0Mjg4XSxbLTMuMTkzOTczLDQuOTI1NjM0LDIuNjA3OTI0XSxbLTMuMTI2MTgsNS4yNzUyNCwyLjk0NDU0NF0sWy0wLjQyNjAwMyw4LjUxNjM1NCwtMC41MDE1MjhdLFsyLjgwMjcxNywxLjM4NzY0MywyLjc1MTY0OV0sWy0zLjEyMDU5Nyw3Ljg4OTExMSwtMi43NTQzMV0sWzIuNjM2NjQ4LDEuNzE3MDIsMi45OTEzMDJdLFstMi44NTMxNTEsNi43MTE3OTIsMi40MzAyNzZdLFstMi44NDM4MzYsNi45NjI4NjUsMi40MDA4NDJdLFsxLjk2OTYsMy4xOTkwMjMsMy41MDQ1MTRdLFstMi40NjE3NTEsMC4zODYzNTIsMy4wMDg5OTRdLFsxLjY0MTI3LDAuNDk1NzU4LDMuMDI5NThdLFstNC4zMzA0NzIsNS40MDk4MzEsMC4wMjUyODddLFstMi45MTIzODcsNS45ODA0MTYsMi44NDQyNjFdLFstMi40OTAwNjksMC4yMTEwNzgsMi45ODUzOTFdLFszLjU4MTgxNiw0LjgwOTExOCwwLjczMzcyOF0sWzIuNjkzMTk5LDIuNjQ3MjEzLDMuMTI2NzA5XSxbLTAuMTgyOTY0LDguMTg0MTA4LC0wLjYzODQ1OV0sWy0yLjIyNjg1NSwwLjQ0NDcxMSwyLjk0NjU1Ml0sWy0wLjcyMDE3NSw4LjExNTA1NSwwLjAxNzY4OV0sWzIuNjQ1MzAyLDQuMzE2MjEyLDIuODUwMTM5XSxbLTAuMjMyNzY0LDkuMzI5NTAzLC0wLjkxODYzOV0sWzQuODUyMzY1LDEuNDcxOTAxLDAuNjUyNzVdLFsyLjc2MjI5LDIuMDE0OTk0LDIuOTU3NzU1XSxbLTIuODA4Mzc0LDUuMzU0MzAxLDIuNjQ0Njk1XSxbLTIuNzkwOTY3LDYuNDA2OTYzLDIuNTQ3OTg1XSxbLTEuMzQyNjg0LDAuNDE4NDg4LC0xLjY2OTE4M10sWzIuNjkwNjc1LDUuNTkzNTg3LC0wLjA0MTIzNl0sWzQuNjYwMTQ2LDEuNjMxOCwxLjcxMzMxNF0sWzIuNzc1NjY3LDMuMDA3MjI5LDMuMTExMzMyXSxbLTAuMzk2Njk2LDguOTYzNDMyLC0wLjcwNjIwMl0sWzIuNDQ2NzA3LDIuNzQwNjE3LDMuMzIxNDMzXSxbLTQuODAzMjA5LDUuODg0NjM0LDIuNjAzNjcyXSxbLTIuNjUyMDAzLDEuNjU0MSwxLjUwNzhdLFszLjkzMjMyNywzLjk3Mjg3NCwwLjgzMTkyNF0sWzIuMTM1OTA2LDAuOTU1NTg3LDIuOTg2NjA4XSxbMi40ODYxMzEsMi4wNTM4MDIsMy4xMjQxMTVdLFstMC4zODY3MDYsOC4xMTU3NTMsLTAuMzc1NjVdLFstMi43MjA3MjcsNy4zMjUwNDQsMi4yMjQ4NzhdLFstMS4zOTY5NDYsNy42MzgwMTYsLTAuMTY0ODZdLFstMC42MjA4Myw3Ljk4OTc3MSwtMC4xNDQ0MTNdLFstMi42NTMyNzIsNS43Mjk2ODQsMi42Njc2NzldLFszLjAzODE4OCw0LjY1ODM1LDIuMzY0MTQyXSxbMi4zODE3MjEsMC43Mzk0NzIsMi43ODg5OTJdLFstMi4zNDU4MjksNS40NzQ5MjksMi4zODA2MzNdLFstMi41MTg5ODMsNi4wODA1NjIsMi40NzkzODNdLFstMi42MTU3OTMsNi44Mzk2MjIsMi4xODYxMTZdLFstMi4yODY1NjYsMC4xNDM3NTIsMi43NjY4NDhdLFstNC43NzEyMTksNi41MDg3NjYsMS4wNzA3OTddLFszLjcxNzMwOCwyLjkwNTAxOSwyLjA5Nzk5NF0sWzIuNTA1MjEsMy4wMTY3NDMsMy4yOTU4OThdLFsyLjIwODQ0OCwxLjU2MDI5LDMuMjE2ODA2XSxbMy4zNDY3ODMsMS4wMTI1NCwyLjExOTk1MV0sWzIuNjUzNTAzLDMuMjYxMjIsMy4xNzU3MzhdLFstMi4zNTk2MzYsNS44Mjc1MTksMi40MDIyOTddLFstMS45NTI2OTMsMC41NTgxMDIsMi44NTMzMDddLFstMC4zMjE1NjIsOS40MTQ4ODUsLTEuMTg3NTAxXSxbMy4xMzg5MjMsMS40MDUwNzIsMi41MjA3NjVdLFsxLjQ5MzcyOCwxLjc4MDA1MSwzLjYyMTk2OV0sWzMuMDE4MTcsMC45MDcyOTEsMi4zMzY5MDldLFszLjE4MzU0OCwxLjE4NTI5NywyLjM1MjE3NV0sWzEuNjA4NjE5LDUuMDA2NzUzLDIuNjk1MTMxXSxbLTQuNzIzOTE5LDYuODM2MTA3LDEuMDk1Mjg4XSxbLTEuMDE3NTg2LDguODY1NDI5LC0wLjE0OTMyOF0sWzQuNzMwNzYyLDEuMjE0MDE0LDAuNjQwMDhdLFstMi4xMzUxODIsNi42NDc5MDcsMS40OTU0NzFdLFstMi40MjAzODIsNi41NDYxMTQsMi4xMDgyMDldLFstMi40NTgwNTMsNy4xODYzNDYsMS44OTY2MjNdLFszLjQzNzEyNCwwLjI3NTc5OCwxLjEzODIwM10sWzAuMDk1OTI1LDguNzI1ODMyLC0wLjkyNjQ4MV0sWzIuNDE3Mzc2LDIuNDI5ODY5LDMuMjg3NjU5XSxbMi4yNzk5NTEsMS4yMDAzMTcsMy4wNDk5OTRdLFsyLjY3NDc1MywyLjMyNjkyNiwzLjA0NDA1OV0sWy0yLjMyODEyMyw2Ljg0OTE2NCwxLjc1NzUxXSxbLTMuNDE4NjE2LDcuODUzNDA3LDAuMTI2MjQ4XSxbLTMuMTUxNTg3LDcuNzc1NDMsLTAuMTEwODg5XSxbMi4zNDkxNDQsNS42NTMyNDIsMi4wNTg2OV0sWy0yLjI3MzIzNiw2LjA4NTYzMSwyLjI0Mjg4OF0sWy00LjU2MDYwMSw0LjUyNTM0MiwxLjI2MTI0MV0sWzIuODY2MzM0LDMuNzk2MDY3LDIuOTM0NzE3XSxbLTIuMTc0OTMsNi41MDU1MTgsMS43OTEzNjddLFszLjEyMDU5LDMuMjgzMTU3LDIuODE4ODY5XSxbMy4wMzc3MDMsMy41NjIzNTYsMi44NjY2NTNdLFswLjA2NjIzMyw5LjQ4ODQxOCwtMS4yNDgyMzddLFsyLjc0OTk0MSwwLjk3NTAxOCwyLjU3MzM3MV0sWy0yLjE1NTc0OSw1LjgwMTAzMywyLjIwNDAwOV0sWy0yLjE2Mjc3OCw2LjI2MTg4OSwyLjAyODU5Nl0sWzEuOTM2ODc0LDAuNDU5MTQyLDIuOTU2NzE4XSxbMy4xNzYyNDksNC4zMzU1NDEsMi40NDA0NDddLFs0LjM1NjU5OSwxLjAyOTQyMywxLjcwMDU4OV0sWzMuODczNTAyLDMuMDgyNjc4LDEuODA0MzFdLFsyLjg5NTQ4OSw0LjI0MzAzNCwyLjczNTI1OV0sWy0wLjA5NTc3NCw5LjQ2ODE5NSwtMS4wNzQ1MV0sWy0xLjEyNDk4Miw3Ljg4NjgwOCwtMC40ODA4NTFdLFszLjAzMjMwNCwzLjA2NTQ1NCwyLjg5NzkyN10sWzMuNjkyNjg3LDQuNTk2MSwwLjk1Nzg1OF0sWy0zLjAxMzA0NSwzLjgwNzIzNSwtMS4wOTgzODFdLFstMC43OTAwMTIsOC45MjkxMiwtMC4zNjc1NzJdLFsxLjkwNTc5MywwLjczMTc5LDIuOTk2NzI4XSxbMy41MzAzOTYsMy40MjYyMzMsMi4zNTY1ODNdLFsyLjEyMjk5LDAuNjI0OTMzLDIuOTI5MTY3XSxbLTIuMDY5MTk2LDYuMDM5Mjg0LDIuMDEyNTFdLFstMy41NjU2MjMsNy4xODI1MjUsMi44NTAwMzldLFsyLjk1OTI2NCwyLjM3NjMzNywyLjgyOTI0Ml0sWzIuOTQ5MDcxLDEuODIyNDgzLDIuNzkzOTMzXSxbNC4wMzYxNDIsMC43NjM4MDMsMS43MDM3NDRdLFstMS45OTM1MjcsNi4xODAzMTgsMS44MDQ5MzZdLFstMC4wMzA5ODcsMC43NjYzODksMy4zNDQ3NjZdLFstMC41NDk2ODMsOC4yMjUxOTMsLTAuMTg5MzQxXSxbLTAuNzY1NDY5LDguMjcyMjQ2LC0wLjEyNzE3NF0sWy0yLjk0NzA0Nyw3LjU0MTY0OCwtMC40MTQxMTNdLFstMy4wNTAzMjcsOS4xMDExNCwtMy40MzU2MTldLFszLjQ4ODU2NiwyLjIzMTgwNywyLjM5OTgzNl0sWzMuMzUyMjgzLDQuNzI3ODUxLDEuOTQ2NDM4XSxbNC43NDEwMTEsMi4xNjI3NzMsMS40OTk1NzRdLFstMS44MTUwOTMsNi4wNzIwNzksMS41ODA3MjJdLFstMy43MjA5NjksOC4yNjc5MjcsLTAuOTg0NzEzXSxbMS45MzI4MjYsMy43MTQwNTIsMy40Mjc0ODhdLFszLjMyMzYxNyw0LjQzODk2MSwyLjIwNzMyXSxbMC4yNTQxMTEsOS4yNjM2NCwtMS4zNzMyNDRdLFstMS40OTMzODQsNy44Njg1ODUsLTAuNDUwMDUxXSxbLTAuODQxOTAxLDAuNzc2MTM1LC0xLjYxOTQ2N10sWzAuMjQzNTM3LDYuMDI3NjY4LDAuMDkxNjg3XSxbMC4zMDMwNTcsMC4zMTMwMjIsLTAuNTMxMTA1XSxbLTAuNDM1MjczLDAuNDc0MDk4LDMuNDgxNTUyXSxbMi4xMjE1MDcsMi42MjIzODksMy40ODYyOTNdLFsxLjk2MTk0LDEuMTAxNzUzLDMuMTU5NTg0XSxbMy45Mzc5OTEsMy40MDc1NTEsMS41NTEzOTJdLFswLjA3MDkwNiwwLjI5NTc1MywxLjM3NzE4NV0sWy0xLjkzNTg4LDcuNjMxNzY0LDAuNjUxNjc0XSxbLTIuNTIzNTMxLDAuNzQ0ODE4LC0wLjMwOTg1XSxbMi44OTE0OTYsMy4zMTk4NzUsMi45ODMwNzldLFs0Ljc4MTc2NSwxLjU0NzA2MSwxLjUyMzEyOV0sWy0yLjI1NjA2NCw3LjU3MTI1MSwwLjk3MzcxNl0sWzMuMjQ0ODYxLDMuMDU4MjQ5LDIuNzI0MzkyXSxbLTAuMTQ1ODU1LDAuNDM3Nzc1LDMuNDMzNjYyXSxbMS41ODYyOTYsNS42NTg1MzgsMi4zNTg0ODddLFszLjY1ODMzNiwzLjc3NDkyMSwyLjA3MTgzN10sWzIuODQwNDYzLDQuODE3MDk4LDIuNDYzNzZdLFstMS4yMTk0NjQsOC4xMjI1NDIsLTAuNjcyODA4XSxbLTIuNTIwOTA2LDIuNjY0NDg2LC0xLjAzNDM0Nl0sWy0xLjMxNTQxNyw4LjQ3MTM2NSwtMC43MDk1NTddLFszLjQyOTE2NSwzLjc0Njg2LDIuNDQ2MTY5XSxbMy4wNzQ1NzksMy44NDA3NTgsMi43Njc0MDldLFszLjU2OTQ0MywzLjE2NjMzNywyLjMzMzY0N10sWzIuMjk0MzM3LDMuMjgwMDUxLDMuMzU5MzQ2XSxbMi4yMTgxNiwzLjY2NTc4LDMuMjY5MjIyXSxbMi4xNTg2NjIsNC4xNTE0NDQsLTEuMzU3OTE5XSxbMS4xMzg2Miw0LjM4MDk4NiwtMS40MDQ1NjVdLFszLjM4ODM4MiwyLjc0OTkzMSwtMC44NDA5NDldLFszLjA1OTg5Miw1LjA4NDg0OCwyLjAyNjA2Nl0sWzMuMjA0NzM5LDIuMDc1MTQ1LDIuNjQwNzA2XSxbMy4zODcwNjUsMS40MjYxNywyLjMwNTI3NV0sWzMuOTEwMzk4LDIuNjcwNzQyLDEuNzUwMTc5XSxbMy40NzE1MTIsMS45NDU4MjEsMi4zOTU4ODFdLFs0LjA4MDgyLDEuMDcwNjU0LDEuOTYwMTcxXSxbLTEuMDU3ODYxLDAuMTMzMDM2LDIuMTQ2NzA3XSxbLTAuMTUxNzQ5LDUuNTM1NTEsLTAuNjI0MzIzXSxbMy4yMzMwOTksNC4wMDM3NzgsMi41NzExNzJdLFsyLjYxMTcyNiw1LjMxOTE5OSwtMC40OTkzODhdLFsyLjY4MjkwOSwxLjA5NDQ5OSwtMS4yMDYyNDddLFstMS4yMjgyMyw3LjY1Njg4NywwLjA0MTQwOV0sWy0yLjI5MzI0Nyw3LjI1OTE4OSwwLjAxMzg0NF0sWzAuMDgxMzE1LDAuMjAyMTc0LDMuMjg2MzgxXSxbLTEuMDAyMDM4LDUuNzk0NDU0LC0wLjE4NzE5NF0sWzMuNDQ4ODU2LDQuMDgwOTEsMi4yNTgzMjVdLFswLjI4Nzg4Myw5LjAwNjg4OCwtMS41NTA2NDFdLFstMy44NTEwMTksNC4wNTk4MzksLTAuNjQ2OTIyXSxbMy42MTA5NjYsNC4yMDU0MzgsMS45MTMxMjldLFsyLjIzOTA0MiwyLjk1MDg3MiwzLjQ0OTk1OV0sWzAuMjE2MzA1LDAuNDQyODQzLDMuMzI4MDUyXSxbMS44NzE0MSwyLjQ3MDc0NSwzLjU3NDU1OV0sWzMuODExMzc4LDIuNzY4NzE4LC0wLjIyODM2NF0sWzIuNTExMDgxLDEuMzYyNzI0LDIuOTY5MzQ5XSxbLTEuNTk4MTMsNy44NjY1MDYsMC40NDAxODRdLFstMy4zMDc5NzUsMi44NTEwNzIsLTAuODk0OTc4XSxbLTAuMTA3MDExLDguOTA1NzMsLTAuODg0Mzk5XSxbLTMuODU1MzE1LDIuODQyNTk3LC0wLjQzNDU0MV0sWzIuNTE3ODUzLDEuMDkwNzY4LDIuNzk5Njg3XSxbMy43OTE3MDksMi4zNjY4NSwyLjAwMjcwM10sWzQuMDYyOTQsMi43NzM5MjIsMC40NTI3MjNdLFstMi45NzMyODksNy42MTcwMywtMC42MjM2NTNdLFstMi45NTUwOSw4LjkyNDQ2MiwtMy40NDYzMTldLFsyLjg2MTQwMiwwLjU2MjU5MiwyLjE4NDM5N10sWy0xLjEwOTcyNSw4LjU5NDIwNiwtMC4wNzY4MTJdLFstMC43MjU3MjIsNy45MjQ0ODUsLTAuMzgxMTMzXSxbLTEuNDg1NTg3LDEuMzI5OTk0LC0wLjY1NDQwNV0sWy00LjM0MjExMywzLjIzMzczNSwxLjc1MjkyMl0sWy0yLjk2ODA0OSw3Ljk1NTUxOSwtMi4wOTQwNV0sWy0zLjEzMDk0OCwwLjQ0NjE5NiwwLjg1Mjg3XSxbLTQuOTU4NDc1LDUuNzU3MzI5LDEuNDQ3MDU1XSxbLTMuMDg2NTQ3LDcuNjE1MTkzLC0xLjk1MzE2OF0sWy0zLjc1MTkyMyw1LjQxMjgyMSwzLjM3MzM3M10sWy00LjU5OTY0NSw3LjQ4MDk1MywxLjY3NzEzNF0sWzEuMTMzOTkyLDAuMjc0ODcxLDAuMDMyMjQ5XSxbLTIuOTU2NTEyLDguMTI2OTA1LC0xLjc4NTQ2MV0sWy0wLjk2MDY0NSw0LjczMDY1LC0xLjE5MTc4Nl0sWy0yLjg3MTA2NCwwLjg3NTU1OSwwLjQyNDg4MV0sWy00LjkzMjExNCw1Ljk5NjE0LDEuNDgzODQ1XSxbLTIuOTgxNzYxLDguMTI0NjEyLC0xLjM4NzI3Nl0sWzAuMzYyMjk4LDguOTc4NTQ1LC0xLjM2ODAyNF0sWy00LjQwODM3NSwzLjA0NjI3MSwwLjYwMjM3M10sWzIuODY1ODQxLDIuMzIyMjYzLC0xLjM0NDYyNV0sWy00Ljc4NDgsNS42MjA4OTUsMC41OTQ0MzJdLFstMi44ODMyMiwwLjMzODkzMSwxLjY3MjMxXSxbLTQuNjg4MTAxLDYuNzcyOTMxLDEuODcyMzE4XSxbLTQuOTAzOTQ4LDYuMTY0Njk4LDEuMjcxMzVdLFsyLjg1NjYzLDEuMDA1NjQ3LC0wLjkwNjg0M10sWzIuNjkxMjg2LDAuMjA5ODExLDAuMDUwNTEyXSxbLTQuNjkzNjM2LDYuNDc3NTU2LDAuNjY1Nzk2XSxbLTQuNDcyMzMxLDYuODYxMDY3LDAuNDc3MzE4XSxbMC44ODMwNjUsMC4yMDQ5MDcsMy4wNzM5MzNdLFstMC45OTU4NjcsOC4wNDg3MjksLTAuNjUzODk3XSxbLTAuNzk0NjYzLDUuNjcwMzk3LC0wLjM5MDExOV0sWzMuMzEzMTUzLDEuNjM4MDA2LC0wLjcyMjI4OV0sWy00Ljg1NjQ1OSw1LjM5NDc1OCwxLjAzMjU5MV0sWy0zLjAwNTQ0OCw3Ljc4MzAyMywtMC44MTk2NDFdLFszLjExODkxLDIuMDM2OTc0LC0xLjA4Njg5XSxbLTIuMzY0MzE5LDIuNDA4NDE5LDIuNjM0MTldLFstMi45MjcxMzIsOC43NTQzNSwtMy41MzcxNTldLFstMy4yOTYyMjIsNy45NjQ2MjksLTMuMTM0NjI1XSxbLTEuNjQyMDQxLDQuMTM0MTcsLTEuMzAxNjY1XSxbMi4wMzA3NTksMC4xNzYzNzIsLTEuMDMwOTIzXSxbLTQuNTU5MDY5LDMuNzUxMDUzLDAuNTQ4NDUzXSxbMy40MzgzODUsNC41OTQ1NCwtMC4yNDMyMTVdLFstMi41NjE3NjksNy45MzkzNSwwLjE3NzY5Nl0sWzIuOTkwNTkzLDEuMzM1MzE0LC0wLjk0MzE3N10sWzEuMjgwOCwwLjI3NjM5NiwtMC40OTA3Ml0sWy0wLjMxODg4OSwwLjI5MDY4NCwwLjIxMTE0M10sWzMuNTQ2MTQsMy4zNDI2MzUsLTAuNzY3ODc4XSxbLTMuMDczMzcyLDcuNzgwMDE4LC0yLjM1NzgwN10sWy00LjQ1NTM4OCw0LjM4NzI0NSwwLjM2MTAzOF0sWy00LjY1OTM5Myw2LjI3NjA2NCwyLjc2NzAxNF0sWzAuNjM2Nzk5LDQuNDgyMjIzLC0xLjQyNjI4NF0sWy0yLjk4NzY4MSw4LjA3Mjk2OSwtMi40NTI0NV0sWy0yLjYxMDQ0NSwwLjc2MzU1NCwxLjc5MjA1NF0sWzMuMzU4MjQxLDIuMDA2NzA3LC0wLjgwMjk3M10sWy0wLjQ5ODM0NywwLjI1MTU5NCwwLjk2Mjg4NV0sWzMuMTMyMiwwLjY4MzMxMiwyLjAzODc3N10sWy00LjM4OTgwMSw3LjQ5Mzc3NiwwLjY5MDI0N10sWzAuNDMxNDY3LDQuMjIxMTksLTEuNjE0MjE1XSxbLTQuMzc2MTgxLDMuMjEzMTQxLDAuMjczMjU1XSxbLTQuODcyMzE5LDUuNzE1NjQ1LDAuODI5NzE0XSxbLTQuODI2ODkzLDYuMTk1MzM0LDAuODQ5OTEyXSxbMy41MTY1NjIsMi4yMzczMiwtMC42Nzc1OTddLFszLjEzMTY1NiwxLjY5ODg0MSwtMC45NzU3NjFdLFstNC43NTQ5MjUsNS40MTE2NjYsMS45ODkzMDNdLFstMi45ODcyOTksNy4zMjA3NjUsLTAuNjI5NDc5XSxbLTMuNzU3NjM1LDMuMjc0ODYyLC0wLjc0NDAyMl0sWzMuNDg3MDQ0LDIuNTQxOTk5LC0wLjY5OTkzM10sWy00LjUzMjc0LDQuNjQ5NTA1LDAuNzcwOTNdLFstMS40MjQxOTIsMC4wOTk0MjMsMi42MzMzMjddLFszLjA5MDg2NywyLjQ3Njk3NSwtMS4xNDY5NTddLFstMi43MTMyNTYsMC44MTU2MjIsMi4xNzMxMV0sWzMuMzQ4MTIxLDMuMjU0MTY3LC0wLjk4NDg5Nl0sWy0zLjAzMTM3OSwwLjE2NDUzLC0wLjMwOTkzN10sWy0wLjk0OTc1Nyw0LjUxODEzNywtMS4zMDkxNzJdLFstMC44ODk1MDksMC4wOTUyNTYsMS4yODg4MDNdLFszLjUzOTU5NCwxLjk2NjEwNSwtMC41NTM5NjVdLFstNC42MDYxMiw3LjEyNzc0OSwwLjgxMTk1OF0sWy0yLjMzMjk1MywxLjQ0NDcxMywxLjYyNDU0OF0sWzMuMTM2MjkzLDIuOTU4MDUsLTEuMTM4MjcyXSxbMy41NDA4MDgsMy4wNjkwNTgsLTAuNzM1Mjg1XSxbMy42Nzg4NTIsMi4zNjIzNzUsLTAuNDUyNTQzXSxbLTQuNjQ4ODk4LDcuMzc0MzgsMC45NTQ3OTFdLFstMC42NDY4NzEsMC4xOTAzNywzLjM0NDc0Nl0sWzIuMjgyNSwwLjI5MzQzLC0wLjgyNjI3M10sWy00LjQyMjI5MSw3LjE4Mzk1OSwwLjU1NzUxN10sWy00LjY5NDY2OCw1LjI0NjEwMywyLjU0MTc2OF0sWy00LjU4MzY5MSw0LjE0NTQ4NiwwLjYwMDIwN10sWy0yLjkzNDg1NCw3LjkxMjUxMywtMS41MzkyNjldLFstMy4wNjc4NjEsNy44MTc0NzIsLTAuNTQ2NTAxXSxbMy44MjUwOTUsMy4yMjk1MTIsLTAuMjM3NTQ3XSxbMi41MzI0OTQsMC4zMjMwNTksMi4zODcxMDVdLFstMi41MTQ1ODMsMC42OTI4NTcsMS4yMzU5N10sWy00LjczNjgwNSw3LjIxNDM4NCwxLjI1OTQyMV0sWy0yLjk4MDcxLDguNDA5OTAzLC0yLjQ2ODE5OV0sWzIuNjIxNDY4LDEuMzg1ODQ0LC0xLjQwNjM1NV0sWzMuODExNDQ3LDMuNTYwODU1LDEuODQ3ODI4XSxbMy40MzI5MjUsMS40OTcyMDUsLTAuNDg5Nzg0XSxbMy43NDY2MDksMy42MzE1MzgsLTAuMzkwNjddLFszLjU5NDkwOSwyLjgzMjI1NywtMC41NzYwMTJdLFstMC40MDQxOTIsNS4zMDAxODgsLTAuODU2NTYxXSxbLTQuNzYyOTk2LDYuNDgzNzc0LDEuNzAyNjQ4XSxbLTQuNzU2NjEyLDYuNzg2MjIzLDEuNDM2ODJdLFstMi45NjUzMDksOC40MzcyMTcsLTIuNzg1NDk1XSxbMi44NjM4NjcsMC43NDA4NywtMC40Mjk2ODRdLFs0LjAyNTAzLDIuOTY4NzUzLDEuMzkyNDE5XSxbMy42NjkwMzYsMS44MzM4NTgsLTAuMzA0OTcxXSxbLTIuODg4ODY0LDAuNzIwNTM3LDAuNzc4MDU3XSxbLTIuMzY5ODIsMC45Nzk0NDMsMS4wNTQ0NDddLFstMi45NTkyNTksOC4yMjIzMDMsLTIuNjU5NzI0XSxbLTMuNDY3ODI1LDcuNTQ1NzM5LC0yLjMzMzQ0NV0sWzIuMTUzNDI2LDAuNDQ2MjU2LC0xLjIwNTIzXSxbLTMuMjI5ODA3LDkuMTg5Njk5LC0zLjU5NjYwOV0sWy0zLjcyNDg2LDguNzczNzA3LC0yLjA0NjY3MV0sWzMuNjg3MjE4LDMuMjk3NzUxLC0wLjUyMzc0Nl0sWzEuMzgxMDI1LDAuMDg4MTUsLTEuMTg1NjY4XSxbLTIuNzk2ODI4LDcuMjA1NjIyLC0wLjIwODc4M10sWzMuNjQ3MTk0LDQuMDY2MjMyLC0wLjI5MTUwN10sWy00LjU3ODM3NiwzLjg4NTU1NiwxLjUyNTQ2XSxbLTIuODQwMjYyLDAuNjMwOTQsMS44OTQ5OV0sWy0yLjQyOTUxNCwwLjkyMjExOCwxLjgyMDc4MV0sWy00LjY3NTA3OSw2LjU3MzkyNSwyLjQyMzM2M10sWzIuODA2MjA3LDQuMzIwMTg4LC0xLjAyNzM3Ml0sWy0xLjI4OTYwOCwwLjA5NzI0MSwxLjMyMTY2MV0sWy0zLjAxMDczMSw4LjE0MTMzNCwtMi44NjYxNDhdLFszLjIwMjI5MSwxLjIzNTYxNywtMC41NDkwMjVdLFs0LjA5NDc5MiwyLjQ3NzUxOSwwLjMwNDU4MV0sWzIuOTQ4NDAzLDAuOTY2ODczLC0wLjY2NDg1N10sWy00LjgzMjk3LDUuOTIwNTg3LDIuMDk1NDYxXSxbLTIuMTY5NjkzLDcuMjU3Mjc3LDAuOTQ2MTg0XSxbLTEuMzM1ODA3LDMuMDU3NTk3LC0xLjMwMzE2Nl0sWy0xLjAzNzg3NywwLjY0MTUxLC0xLjY4NTI3MV0sWzIuNjI3OTE5LDAuMDg5ODE0LDAuNDM5MDc0XSxbMy44MTU3OTQsMy44MDgxMDIsMS43MzA0OTNdLFstMi45NzM0NTUsOC40MzMxNDEsLTMuMDg4NzJdLFstMi4zOTE1NTgsNy4zMzE0MjgsMS42NTgyNjRdLFstNC4zMzMxMDcsNC41Mjk5NzgsMS44NTA1MTZdLFstNC42NDAyOTMsMy43NjcxMDcsMS4xNjg4NDFdLFszLjYwMDcxNiw0LjQ2OTMxLDEuNzM0MDI0XSxbMy44ODA4MDMsMS43MzAxNTgsLTAuMTcyNzM2XSxbMy44MTQxODMsNC4yNjIzNzIsMS4xNjcwNDJdLFs0LjM3MzI1LDAuODI5NTQyLDEuNDEzNzI5XSxbMi40OTA0NDcsNS43NTExMSwwLjAxMTQ5Ml0sWzMuNDYwMDAzLDQuOTYyNDM2LDEuMTg4OTcxXSxbMy45MTg0MTksMy44MTQyMzQsMS4zNTgyNzFdLFstMC44MDc1OTUsOC44NDA1MDQsLTAuOTUzNzExXSxbMy43NTI4NTUsNC4yMDU3NywxLjU3MTc3XSxbLTIuOTkxMDg1LDguODE2NTAxLC0zLjI0NDU5NV0sWy0yLjMzMzE5Niw3LjEyODg4OSwxLjU1MTk4NV0sWzMuOTc3NzE4LDMuNTcwOTQxLDEuMjU5MzddLFs0LjM2MDA3MSwwLjc1NTU3OSwxLjA3OTkxNl0sWzQuNjM3NTc5LDEuMDI3OTczLDEuMDMyNTY3XSxbLTIuMzE3LDcuNDIxMDY2LDEuMzI5NTg5XSxbLTEuMDEzNDA0LDguMjkzNjYyLC0wLjc4MjNdLFs0LjU0ODAyMywxLjAyMDY0NCwxLjQyMDQ2Ml0sWzQuNzYzMjU4LDEuMjY2Nzk4LDEuMjk2MjAzXSxbNC44OTYsMi4wNzMwODQsMS4yNTUyMTNdLFs0LjAxNTAwNSwzLjMyNTIyNiwxLjA5Mzg3OV0sWzQuOTQ4ODUsMS44NjA5MzYsMC44OTQ0NjNdLFstMi4xODk2NDUsNi45NTQ2MzQsMS4yNzAwNzddLFs0Ljg4NzQ0MiwxLjcyMDk5MiwxLjI4ODUyNl0sWy0zLjE4NDA2OCw3Ljg3MTgwMiwwLjk1NjE4OV0sWy0xLjI3NDMxOCwwLjgzOTg4NywtMS4yMjQzODldLFstMi45MTk1MjEsNy44NDQzMiwwLjU0MTYyOV0sWy0yLjk5NDU4Niw3Ljc2NjEwMiwxLjk2ODY3XSxbLTMuNDE3NTA0LDkuMjQxNzE0LC0zLjA5MzIwMV0sWy0zLjE3NDU2Myw3LjQ2NjQ1NiwyLjQ3MzYxN10sWy0zLjI2MzA2Nyw5LjA2OTQxMiwtMy4wMDM0NTldLFstMi44NDE1OTIsMC41Mjk4MzMsMi42OTM0MzRdLFstMy42MTEwNjksOS4xNTg4MDQsLTIuODI5ODcxXSxbLTQuNjQyODI4LDUuOTI3NTI2LDAuMzIwNTQ5XSxbLTMuODA5MzA4LDkuMDUxMDM1LC0yLjY5Mjc0OV0sWy0yLjgzNzU4Miw3LjQ4Nzk4NywtMC4xMDYyMDZdLFs0Ljc3MzAyNSwyLjMzMDQ0MiwxLjIxMzg5OV0sWzQuODk3NDM1LDIuMjA5OTA2LDAuOTY2NjU3XSxbLTMuMDY3NjM3LDguMTY0MDYyLC0xLjEyNjYxXSxbLTMuMTIyMTI5LDguMDgwNzQsLTAuODk5MTk0XSxbNC41NzEwMTksMi4zNTgxMTMsMS40NjIwNTRdLFs0LjU4NDg4NCwyLjQ1NDQxOCwwLjcwOTQ2Nl0sWy0zLjY2MTA5Myw3LjE0NjU4MSwtMC40NzU5NDhdLFs0LjczNTEzMSwyLjQxNTg1OSwwLjkzMzkzOV0sWzQuMjA3NTU2LDIuNTQwMDE4LDEuMjE4MjkzXSxbLTMuNjA3NTk1LDcuODkxNjEsLTAuMTIxMTcyXSxbLTEuNTI3OTUyLDAuNzc1NTY0LC0xLjA2MTkwM10sWzQuNTM4NzQsMi41MDMyNzMsMS4wOTk1ODNdLFstMy45Mzg4MzcsNy41ODc5ODgsMC4wODI0NDldLFstNC44NTM1ODIsNi4xNTI0MDksMS43ODc5NDNdLFstNC43NTIyMTQsNi4yNDcyMzQsMi4yOTY4NzNdLFs0LjYwMjkzNSwyLjM2Mzk1NSwwLjQ4ODkwMV0sWy0xLjgxNjM4LDYuMzY1ODc5LDAuODY4MjcyXSxbMC41OTU0NjcsNC43NDQwNzQsLTEuMzI0ODNdLFsxLjg3NjM1LDMuNTExOTg2LC0xLjg0MjkyNF0sWzQuMzMwOTQ3LDIuNTM0MzI2LDAuNzIwNTAzXSxbNC4xMDg3MzYsMi43NTA4MDUsMC45MDQ1NTJdLFstMS44OTA5MzksOC40OTI2MjgsLTAuMjkwNzY4XSxbLTMuNTA0MzA5LDYuMTczMDU4LC0wLjQyMjgwNF0sWy0xLjYxMTk5Miw2LjE5NjczMiwwLjY0ODczNl0sWy0zLjg5OTE0OSw3LjgyNjEyMywxLjA4ODg0NV0sWy0zLjA3ODMwMywzLjAwODgxMywtMS4wMzU3ODRdLFstMi43OTg5OTksNy44NDQ4OTksMS4zNDAwNjFdLFstMS4yNDg4MzksNS45NTkxMDUsMC4wNDE3NjFdLFswLjc2Nzc3OSw0LjMzNzMxOCwzLjA5MDgxN10sWy0zLjgzMTE3Nyw3LjUxNTYwNSwyLjQzMjI2MV0sWy0xLjY2NzUyOCw2LjE1NjIwOCwwLjM2NTI2N10sWy0xLjcyNjA3OCw2LjIzNzM4NCwxLjEwMDA1OV0sWy0zLjk3MjAzNyw0LjUyMDgzMiwtMC4zNzA3NTZdLFstNC40MDQ0OSw3LjYzNjM1NywxLjUyMDQyNV0sWy0xLjM0NTA2LDYuMDA0MDU0LDEuMjkzMTU5XSxbLTEuMjMzNTU2LDYuMDQ5OTMzLDAuNTAwNjUxXSxbLTMuNjk2ODY5LDcuNzk3MzIsMC4zNzk3OV0sWy0zLjMwNzc5OCw4Ljk0OTk2NCwtMi42OTgxMTNdLFstMS45OTcyOTUsNi42MTUwNTYsMS4xMDM2OTFdLFstMy4yMTkyMjIsOC4zMzYzOTQsLTEuMTUwNjE0XSxbLTMuNDUyNjIzLDguMzE4NjYsLTAuOTQxN10sWy0zLjk0NjQxLDIuOTkwNDk0LDIuMjEyNTkyXSxbLTMuMjUwMDI1LDguMDMwNDE0LC0wLjU5NjA5N10sWy0yLjAyMzc1LDEuNTcxMzMzLDIuMzk3OTM5XSxbLTMuMTkwMzU4LDcuNjY1MDEzLDIuMjY4MTgzXSxbLTIuODExOTE4LDcuNjE4NTI2LDIuMTQ1NTg3XSxbLTEuMDA1MjY1LDUuODkyMzAzLDAuMDcyMTU4XSxbLTAuOTM3MjEsNS45NzQxNDgsMC45MDY2NjldLFstNC42NDYwNzIsNy40OTIxOTMsMS40NTMxMl0sWy0wLjI1MjkzMSwxLjc5NzY1NCwzLjE0MDYzOF0sWy0xLjA3NjA2NCw1LjczODQzMywxLjY5NTk1M10sWy0zLjk4MDUzNCw3Ljc0NDM5MSwxLjczNTc5MV0sWy0wLjcyMTE4Nyw1LjkzOTM5NiwwLjUyNjAzMl0sWy0wLjQyODE4LDUuOTE5NzU1LDAuMjI5MDAxXSxbLTEuNDM0MjksNi4xMTYyMiwwLjkzODYzXSxbLTAuOTg1NjM4LDUuOTM5NjgzLDAuMjkwNjM2XSxbLTQuNDMzODM2LDcuNDYxMzcyLDEuOTY2NDM3XSxbLTMuNjk2Mzk4LDcuODQ0ODU5LDEuNTQ3MzI1XSxbLTMuMzkwNzcyLDcuODIwMTg2LDEuODEyMjA0XSxbLTIuOTE2Nzg3LDcuODY0MDE5LDAuODA0MzQxXSxbLTMuNzE1OTUyLDguMDM3MjY5LC0wLjU5MTM0MV0sWy00LjIwNDYzNCw3LjcyOTE5LDEuMTE5ODY2XSxbLTQuNTkyMjMzLDUuNTkyODgzLDAuMjQ2MjY0XSxbMy4zMDcyOTksNS4wNjE3MDEsMS42MjI5MTddLFstMy41MTUxNTksNy42MDE0NjcsMi4zNjg5MTRdLFstMy40MzU3NDIsOC41MzM0NTcsLTEuMzc5MTZdLFstMC4yNjk0MjEsNC41NDU2MzUsLTEuMzY2NDQ1XSxbLTIuNTQyMTI0LDMuNzY4NzM2LC0xLjI1ODUxMl0sWy0zLjAzNDAwMyw3Ljg3Mzc3MywxLjI1Njg1NF0sWy0yLjgwMTM5OSw3Ljg1NjAyOCwxLjA4MDEzN10sWzMuMjkzNTQsNS4yMjA4OTQsMS4wODE3NjddLFstMi4zNTEwOSwxLjI5OTQ4NiwxLjAxMjA2XSxbLTMuMjMyMjEzLDcuNzY4MTM2LDIuMDQ3NTYzXSxbMy4yOTA0MTUsNS4yMTc1MjUsMC42ODAxOV0sWy0zLjQxNTEwOSw3LjczMTAzNCwyLjE0NDMyNl0sWzMuNDQwMzU3LDQuOTYyNDYzLDAuMzczMzg3XSxbMy4xNDczNDYsNS4zNTIxMjEsMS4zODY5MjNdLFsyLjg0NzI1Miw1LjQ2OTA1MSwxLjgzMTk4MV0sWzMuMTM3NjgyLDUuNDEwMjIyLDEuMDUwMTg4XSxbMy4xMDI2OTQsNS4zMTA0NTYsMS42NzY0MzRdLFstMy4wNDQ2MDEsMC4zOTUxNSwxLjk5NDA4NF0sWzIuOTAzNjQ3LDUuNTYxMzM4LDEuNTE4NTk4XSxbLTMuODEwMTQ4LDguMDkzNTk4LC0wLjg4OTEzMV0sWzQuMjM0ODM1LDAuODAzMDU0LDEuNTkzMjcxXSxbMy4yNDAxNjUsNS4yMjg3NDcsMC4zMjU5NTVdLFszLjAzNzQ1Miw1LjUwOTgyNSwwLjgxNzEzN10sWzIuNjM1MDMxLDUuNzk1MTg3LDEuNDM5NzI0XSxbMy4wNzE2MDcsNS4zMTgzMDMsMC4wODAxNDJdLFsyLjkwOTE2Nyw1LjYxMTc1MSwxLjE1NTg3NF0sWzMuMDQ0ODg5LDUuNDY1OTI4LDAuNDg2NTY2XSxbMi41MDIyNTYsNS43NzA2NzMsMS43NDAwNTRdLFstMC4wNjc0OTcsMC4wODY0MTYsLTEuMTkwMjM5XSxbMi4zMzMyNiw1LjkwNjA1MSwwLjEzODI5NV0sWzAuNjUwOTYsNC4yMDU0MjMsMy4zMDg3NjddLFstMi42NzExMzcsNy45MzY1MzUsMC40MzI3MzFdLFsyLjE0NDYzLDUuODc5MjE0LDEuODY2MDQ3XSxbLTQuNzc2NDY5LDUuODkwNjg5LDAuNTYxOTg2XSxbMi43MjQzMiw1LjY1NTE0NSwwLjIxMTk1MV0sWzIuNzMwNDg4LDUuNzUxNDU1LDAuNjk1ODk0XSxbMi41NzI2ODIsNS44NjkyOTUsMS4xNTI2NjNdLFsxLjkwNjc3Niw1LjczOTEyMywyLjE5NjU1MV0sWzIuMzQ0NDE0LDUuOTk5OTYxLDAuNzcyOTIyXSxbLTMuMzc3OTA1LDcuNDQ4NzA4LC0xLjg2MzI1MV0sWzIuMjg1MTQ5LDUuOTY4MTU2LDEuNDU5MjU4XSxbMi4zODU5ODksNS45Mjg5NzQsMC4zNjg5XSxbMi4xOTIxMTEsNi4wODc1MTYsMC45NTk5MDFdLFsyLjM2MzcyLDYuMDAxMTAxLDEuMDc0MzQ2XSxbMS45NzIwMjIsNi4wNzk2MDMsMS41OTExNzVdLFsxLjg3NjE1LDUuOTc2Njk4LDEuOTE1NTRdLFstMy44MjQ3NjEsOS4wNTM3MiwtMi45Mjg2MTVdLFsyLjA0NDcwNCw2LjEyOTcwNCwxLjI2MzExMV0sWy0yLjU4MzA0NiwwLjg0OTUzNywyLjQ5NzM0NF0sWy0wLjA3ODgyNSwyLjM0MjIwNSwzLjUyMDMyMl0sWy0wLjcwNDY4NiwwLjUzNzE2NSwzLjM5NzE5NF0sWy0wLjI1NzQ0OSwzLjIzNTMzNCwzLjY0NzU0NV0sWy0wLjMzMjA2NCwxLjQ0ODI4NCwzLjAyMjU4M10sWy0yLjIwMDE0NiwwLjg5ODI4NCwtMC40NDcyMTJdLFstMi40OTc1MDgsMS43NDU0NDYsMS44MjkxNjddLFswLjMwNzAyLDQuNDE2MzE1LDIuOTc4OTU2XSxbLTMuMjA1MTk3LDMuNDc5MzA3LC0xLjA0MDU4Ml0sWzAuMTEwMDY5LDkuMzQ3NzI1LC0xLjU2MzY4Nl0sWy0wLjgyNzU0LDAuODgzODg2LDMuMDY1ODM4XSxbLTIuMDE3MTAzLDEuMjQ0Nzg1LDIuNDI1MTJdLFstMC40MjEwOTEsMi4zMDk5MjksMy4xNTM4OThdLFstMC40OTE2MDQsMy43OTYwNzIsMy4xNjI0NV0sWzIuNzg2OTU1LDMuNTAxMjQxLC0xLjM0MDIxNF0sWy0zLjIyOTA1NSw0LjM4MDcxMywtMC44OTkyNDFdLFszLjczMDc2OCwwLjc2ODQ1LDEuOTAzMTJdLFstMC41NjEwNzksMi42NTIzODIsMy4xNTI0NjNdLFstMy40NjE0NzEsMy4wODY0OTYsMi42NjI1MDVdLFstMC42NjE0MDUsMy40NDYwMDksMy4xNzk5MzldLFstMC45MTUzNTEsMC42MzY3NTUsMy4yNDM3MDhdLFstMi45OTI5NjQsOC45MTU2MjgsLTMuNzI5ODMzXSxbLTAuNDM5NjI3LDMuNTAyMTA0LDMuNDI2NjVdLFstMS4xNTQyMTcsMC44ODMxODEsMi44MDA4MzVdLFstMS43MzYxOTMsMS40NjU0NzQsMi41OTU0ODldLFstMC40MjM5MjgsMy4yNDQzNSwzLjU0ODI3N10sWy0wLjUxMTE1MywyLjg3MTA0NiwzLjM3OTc0OV0sWy0wLjY3NTcyMiwyLjk5MTc1NiwzLjE0MzI2Ml0sWy0xLjA5MjYwMiwwLjU5OTEwMywzLjA5MDYzOV0sWy0wLjg5ODIxLDIuODM2OTUyLDIuODQwMDIzXSxbLTIuNjU4NDEyLDAuNzgxMzc2LDAuOTYwNTc1XSxbLTIuMjcxNDU1LDEuMjIyODU3LDEuMzMwNDc4XSxbLTAuODc3ODYxLDEuMTExMjIyLDIuNzIyNjNdLFstMC4zMDY5NTksMi44NzY5ODcsMy41NTYwNDRdLFstMy44MzkyNzQsNy44NDEzOCwtMC45MTg0MDRdLFstMC4xNzIwOTQsNC4wODM3OTksMy4xNDE3MDhdLFstMS41NDgzMzIsMC4yNTI5LDIuODY0NjU1XSxbLTAuMjE3MzUzLDQuODczOTExLC0xLjIyMzEwNF0sWy0zLjM4NDI0MiwzLjE4MTA1NiwtMC45NTU3OV0sWy0yLjczMTcwNCwwLjM4MjQyMSwyLjg5NTUwMl0sWy0xLjI4NTAzNywwLjU1MTI2NywyLjk0NzY3NV0sWzAuMDc3MjI0LDQuMjQ2NTc5LDMuMDY2NzM4XSxbLTAuNDc5OTc5LDEuNzc5NTUsMi44NjAwMTFdLFstMC43MTYzNzUsMS4yMjQ2OTQsMi42NjY3NTFdLFstMC41NDYyMiwzLjEzODI1NSwzLjM5MzQ1N10sWy0yLjMzNDEzLDEuODIxMjIyLDIuMTI0ODgzXSxbLTAuNTA2NTMsMi4wMzcxNDcsMi44OTc0NjVdLFsyLjQ1MTI5MSwxLjIxMTM4OSwtMS40NjY1ODldLFstMy4xNjAwNDcsMi44OTQwODEsMi43MjQyODZdLFstNC4xMzcyNTgsNS40MzM0MzEsMy4yMTIwMV0sWzAuNDYyODk2LDAuMzIwNDU2LC0wLjE3NDgzN10sWy0wLjM3NDU4LDIuNjA5NDQ3LDMuMzc5MjUzXSxbLTMuMDk1MjQ0LDAuMjU2MjA1LDIuMTk2NDQ2XSxbLTQuMTk3OTg1LDUuNzMyOTkxLDMuMjYyOTI0XSxbLTAuNzI5NzQ3LDAuMjQ2MDM2LDAuNDk3MDM2XSxbLTIuMzU2MTg5LDUuMDYyLC0wLjk2NTYxOV0sWy0xLjYwOTAzNiwwLjI1OTYyLC0xLjQ4NzM2N10sWy00LjA3NDM4MSw2LjA3NDA2MSwzLjQwOTQ1OV0sWy0zLjYxOTMwNCw0LjAwMjIsMi42NTcwNV0sWy0wLjU0MzM5Myw4Ljc0Mjg5NiwtMS4wNTY2MjJdLFstNC4zMDM1Niw2Ljg1ODkzNCwyLjg3OTY0Ml0sWy0wLjcxNjY4OCwyLjkwMTgzMSwtMi4xMTIwMl0sWzEuNTQ3MzYyLDAuMDgzMTg5LDEuMTM4NzY0XSxbLTAuMjUwOTE2LDAuMjc1MjY4LDEuMjAxMzQ0XSxbLTMuNzc4MDM1LDMuMTM2MjQsMi40NjYxNzddLFstNC41OTQzMTYsNS43NzEzNDIsMy4wMTY5NF0sWy0zLjcxNzcwNiwzLjQ0Mjg4NywyLjYwMzM0NF0sWy00LjMxMTE2Myw1LjIyNDY2OSwzLjAxOTM3M10sWy0wLjYxMDM4OSwyLjA5NTE2MSwtMS45MjM1MTVdLFstMy4wNDAwODYsNi4xOTY5MTgsLTAuNDI5MTQ5XSxbLTMuODAyNjk1LDMuNzY4MjQ3LDIuNTQ1NTIzXSxbLTAuMTU5NTQxLDIuMDQzMzYyLDMuMzI4NTQ5XSxbLTMuNzQ0MzI5LDQuMzE3ODUsMi40OTE4ODldLFstMy4wNDc5MzksMC4yMTQxNTUsMS44NzM2MzldLFstNC40MTY4NSw2LjExMzA1OCwzLjE2Njc3NF0sWy0xLjE2NTEzMywwLjQ2MDY5MiwtMS43NDIxMzRdLFstMS4zNzEyODksNC4yNDk5OTYsLTEuMzE3OTM1XSxbLTMuNDQ3ODgzLDAuMzUyMSwwLjQ2NjIwNV0sWy00LjQ5NTU1NSw2LjQ2NTU0OCwyLjk0NDE0N10sWy0zLjQ1NTMzNSwwLjE3MTY1MywwLjM5MDgxNl0sWy0zLjk2NDAyOCw0LjAxNzE5NiwyLjM3NjAwOV0sWy0xLjMyMzU5NSwxLjc2MzEyNiwtMC43NTA3NzJdLFstMy45NzExNDIsNS4yNzc1MjQsLTAuMTk0OTZdLFstMy4yMjIwNTIsMC4yMzc3MjMsMC44NzIyMjldLFstNC40MDM3ODQsMy44OTEwNywxLjg3MjA3N10sWy0zLjMzMzMxMSwwLjM0Mjk5NywwLjY2MTAxNl0sWy00LjQ5NTg3MSw0LjI5NjA2LDEuNjM2MDhdLFstMy42MzYwODEsMi43NjA3MTEsMi4zNjE5NDldLFstNC40ODcyMzUsMy41NTk2MDgsMS42NjczN10sWy00LjcxOTc4Nyw3LjI2ODg4LDEuNjU4NzIyXSxbLTEuMDg2MTQzLDkuMDM1NzQxLC0wLjcwNzE0NF0sWy0yLjMzOTY5MywxLjYwMDQ4NSwtMC40MDQ4MTddLFstNC42NDIwMTEsNy4xMjM4MjksMS45OTA5ODddLFstMS40OTgwNzcsMy44NTQwMzUsLTEuMzY5Nzg3XSxbLTQuMTg4MzcyLDQuNzI5MzYzLDIuMDI5ODNdLFstMy4xMTYzNDQsNS44ODIyODQsLTAuNDY4ODg0XSxbLTQuMzA1MjM2LDQuMjQ2NDE3LDEuOTc2OTkxXSxbLTMuMDIyNTA5LDAuMjI4MTksMS4wNjU2ODhdLFstMi43OTk5MTYsMC41MjAyMiwxLjEyODMxOV0sWy00LjI2MjgyMywzLjUzNDQwOSwyLjAyMDM4M10sWy00LjIyMTUzMywzLjk0NzY3NiwyLjExNzM1XSxbLTMuNzQ0MzUzLDQuMzkxNzEyLC0wLjYxOTNdLFstMS4yNzI5MDUsMC4xNTY2OTQsLTEuNzQxNzUzXSxbLTMuNjI0OTEsMi42Njk4MjUsLTAuNTQ5NjY0XSxbLTQuMTgwNzU2LDMuMDk2MTc5LDEuOTg3MjE1XSxbLTQuMDU5Mjc2LDQuMzA1MzEzLDIuMjMyOTI0XSxbLTIuODEyNzUzLDAuMTgzMjI2LDEuMzcwMjY3XSxbLTQuMDMyNDM3LDMuNTEyMjM0LDIuMzA5OTg1XSxbLTAuMDM3ODcsMC4yODE4OCwwLjUzMDM5MV0sWy00LjcxMTU2Miw1LjQ2ODY1MywyLjgyMjgzOF0sWy00LjUwMDYzNiw2Ljk1MzMxNCwyLjU2NDQ0NV0sWy00LjQ3OTQzMyw3LjIxNjk5MSwyLjI3MDY4Ml0sWzMuOTkwNTYyLDAuNTA1MjIsMC43MTYzMDldLFstMi41MTIyMjksNi44NjM0NDcsLTAuMTAwNjU4XSxbLTIuOTY4MDU4LDYuOTU2NjM5LC0wLjM3MDYxXSxbMi41NTAzNzUsMy4xNDI2ODMsLTEuNTQwNjhdLFstMi4zMjAwNTksMy41MjE2MDUsLTEuMjc5Mzk3XSxbLTQuNTU2MzE5LDYuNjQ2NjIsMi43NDUzNjNdLFstNC4yODEwOTEsNy4xMDgxMTYsMi42Njc1OThdLFstMi4wNTAwOTUsOC40MTE2ODksMC4xMjEzNTNdLFstMi40NDg1NCwxLjEzNTQ4NywwLjg1MTg3NV0sWzMuMTIxODE1LDAuNjk5OTQzLC0wLjI3NzE2N10sWy00LjY5ODc3LDYuMDAzNzYsMi44NDMwMzVdLFstMS4zNjA1OTksOC44MjQ3NDIsLTAuNTk1NTk3XSxbMS4xMjg0MzcsMC4xNzE2MTEsMC4zMDE2OTFdLFstNC4zNjAxNDYsNi4yODk0MjMsMC4wNDIyMzNdLFsxLjQwMDc5NSw0LjA4ODgyOSwtMS42MjA0MDldLFstMy4xOTM0NjIsOC40NjAxMzcsLTMuNTU5NDQ2XSxbLTMuMTY4NzcxLDguODc4NDMxLC0zLjYzNTc5NV0sWy0zLjQzNDI3NSw5LjMwNDMwMiwtMy40NjA4NzhdLFstMy4zNDk5OTMsOC44MDgwOTMsLTMuMzgxNzldLFstMy4zMDQ4MjMsOC4zMjM4NjUsLTMuMzI1OTA1XSxbLTMuNTcyNjA3LDkuMzA4ODQzLC0zLjIwNzY3Ml0sWy0zLjE2NjM5Myw4LjIwMTIxNSwtMy40MzAxNF0sWy0zLjQ1MTYzOCw5LjA1MzMxLC0zLjM1MTM0NV0sWy0zLjMwOTU5MSw4LjU0OTc1OCwtMy4zNzUwNTVdLFstMy41Mjc5OTIsOC43OTM5MjYsLTMuMTAwMzc2XSxbLTMuNjI4Nyw4Ljk4MTY3NywtMy4wNzYzMTldLFstMy40NDU1MDUsOC4wMDE4ODcsLTIuODI3M10sWy0zLjQwODAxMSw4LjIyMTAxNCwtMy4wMzkyMzddLFstMy42NTkyOCw4Ljc0MDM4MiwtMi44MDg4NTZdLFstMy44NzgwMTksOC43OTcyOTUsLTIuNDYyODY2XSxbLTMuNTE1MTMyLDguMjMyMzQxLC0yLjc0NzczOV0sWy0zLjQ2MDMzMSw4LjUxNTI0LC0zLjA2ODE4XSxbLTMuNDAzNzAzLDcuNjU4NjI4LC0yLjY0ODc4OV0sWy0zLjUwNzExMyw4LjAwMTU5LC0yLjU4MjI3NV0sWy0zLjYwNzM3Myw4LjE3NDczNywtMi40MDE3MjNdLFstMy43NDkwNDMsOC4zNzgwODQsLTIuMjI2OTU5XSxbLTMuNjQ4NTE0LDguNTAyMjEzLC0yLjYxMzhdLFstMi41MzQxOTksMC45MDQ3NTMsMi4wMjExNDhdLFsxLjQwODMsNS43NDQyNTIsLTAuNTcxNDAyXSxbLTMuODUyNTM2LDguNTcxMDA5LC0yLjM1MjM1OF0sWzIuODY4MjU1LDUuMzczMTI2LC0wLjE2MzcwNV0sWzIuMjI0MzYzLDQuNjY5ODkxLC0xLjA2MTU4Nl0sWy00LjUyODI4MSw0Ljg4NTgzOCwxLjM0MDI3NF0sWzEuMzA4MTcsNC42MDk2MjksLTEuMjg3NjJdLFstNC41MTk2OTgsMy40MjI1MDEsMS4zNTQ4MjZdLFstMy41NDk5NTUsNy43ODMyMjgsLTIuMzMyODU5XSxbMS4xMjMxMyw2LjEyMDg1NiwwLjA0NTExNV0sWy0zLjYyMDMyNCw3LjU3NzE2LC0yLjAzMzQyM10sWy0wLjc5ODgzMywyLjYyNDEzMywtMS45OTI2ODJdLFstMy42MTc1ODcsNy43ODMxNDgsLTIuMDUxMzgzXSxbLTMuNjY5MjkzLDguMTAzNzc2LC0yLjEwMjI3XSxbLTMuODkyNDE3LDguNjY3NDM2LC0yLjE2NzI4OF0sWy0wLjUzNzQzNSwwLjI4NTM0NSwtMC4xNzYyNjddLFstMC44NDE1MjIsMy4yOTk4NjYsLTEuODg3ODYxXSxbLTAuNzYxNTQ3LDMuNjQ3MDgyLC0xLjc5ODk1M10sWy0zLjY2MTU0NCw3Ljg1NzA4LC0xLjg2NzkyNF0sWy0zLjg4Njc2Myw4LjU1MTc4MywtMS44ODkxNzFdLFstMC41OTEyNDQsMS41NDk3NDksLTEuNzE0Nzg0XSxbLTAuNzc1Mjc2LDEuOTA4MjE4LC0xLjU5NzYwOV0sWy0wLjk2MTQ1OCwyLjU3MzI3MywtMS42OTU1NDldLFstMi4yMTU2NzIsMS4zMzUwMDksMi4xNDMwMzFdLFstNC42MjI2NzQsNC4xMzAyNDIsMS4yMjA2ODNdLFsxLjA3MzQ0LDAuMjkwMDk5LDEuNTg0NzM0XSxbLTAuOTc2OTA2LDIuOTIxNzEsLTEuNzY2NjddLFstMS4xMzY5NiwzLjE5NDQwMSwtMS41MTM0NTVdLFstMy43NDMyNjIsNy45OTk0OSwtMS42MjkyODZdLFstMi44NzYzNTksNC45MDA5ODYsLTAuODc5NTU2XSxbMC41NTA4MzUsMy45MDU1NTcsLTIuMDMxMzcyXSxbMC43Nzc2NDcsNC45OTIzMTQsLTEuMjE1NzAzXSxbMS40NDU4ODEsNC4yNjYyMDEsLTEuNDE0NjYzXSxbMS4yNzQyMjIsNS41MTA1NDMsLTAuODI0NDk1XSxbLTAuODY0Njg1LDIuMzE4NTgxLC0xLjcwMjM4OV0sWy0wLjYyNzQ1OCwzLjgyMDcyMiwtMS43NDMxNTNdLFstMy44Njc2OTksOC4zMDg2NiwtMS44NTAwNjZdLFsxLjYzNTI4Nyw1LjQ1NTg3LC0wLjgzODQ0XSxbLTEuMDM3ODc2LDIuNTM4NTg5LC0xLjUxMzUwNF0sWy00LjM4OTkzLDQuNzM5MjYsMS42OTk2MzldLFswLjA0ODcwOSw0Ljc2NTIzMiwtMS4yNzk1MDZdLFstMC42MjY1NDgsMS4zMzk4ODcsLTEuNTk1MTE0XSxbLTMuNjgyODI3LDcuNjQzNDUzLC0xLjcyMzM5OF0sWy0zLjg2ODc4Myw4LjE4MDE5MSwtMS41MTE3NDNdLFstMC43Njk4OCwxLjUwODM3MywtMS40MTk1OTldLFstMS4xMzgzNzQsMi43NjY3NjUsLTEuNDQ4MTYzXSxbMS42OTk4ODMsNS43ODA3NTIsLTAuNDc1MzYxXSxbMS4yMTQzMDUsMC4zMDg1MTcsMS44NjY0MDVdLFstMS43MTM2NDIsMC4zNzM0NjEsLTEuMjY1MjA0XSxbLTEuNTgyMzg4LDAuNTgyOTQsLTEuMjY3OTc3XSxbLTAuODc5NTQ5LDEuODIxNTgxLC0xLjMxMzc4N10sWzAuNTE5MDU3LDUuODU4NzU3LC0wLjM4MTM5N10sWy0zLjc3MDk4OSwyLjQ0OTIwOCwtMC4xMzI2NTVdLFswLjA4NzU3NiwwLjE1NjcxMywtMS41MzYxNl0sWy0wLjk0MjYyMiwyLjE0NjUzNCwtMS40MjE0OTRdLFstMS4wMjYxOTIsMS4wMjIxNjQsLTEuMTQ1NDIzXSxbLTAuOTY0MDc5LDEuNjQ1NDczLC0xLjA2NzYzMV0sWy0xLjEwOTEyOCwyLjQ1ODc4OSwtMS4yOTEwNl0sWy0xLjAzNzQ3OCwwLjIwOTQ4OSwtMS44MDU0MjRdLFstMy43MjQzOTEsNy41OTk2ODYsLTEuMjczNDU4XSxbLTMuNzg3ODk4LDcuOTUxNzkyLC0xLjMwNDc5NF0sWzMuODIxNjc3LDIuMTY1NTgxLC0wLjE4MTUzNV0sWy0yLjM5NDY3LDAuMzA0NjA2LC0wLjU3MDM3NV0sWy0yLjM1MjkyOCwxLjA0MzksMi4wNzkzNjldLFstMC4yODg4OTksOS42NDA2ODQsLTEuMDA2MDc5XSxbLTMuNDcyMTE4LDcuMjYzMDAxLC0xLjA4MDMyNl0sWy0xLjI0MDc2OSwwLjk3MjM1MiwtMC45NzY0NDZdLFstMS44NDUyNTMsMC4zNTY4MDEsLTAuOTk1NTc0XSxbLTIuMzIyNzksNy45MTUzNjEsLTAuMDU3NDc3XSxbLTEuMDgwOTIsMi4xNzkzMTUsLTEuMTY4ODIxXSxbNC41OTg4MzMsMi4xNTY3NjgsMC4yODAyNjRdLFstNC43MjU0MTcsNi40NDIzNzMsMi4wNTY4MDldLFstMC40OTAzNDcsOS40NjQyOSwtMC45ODEwOTJdLFstMS45OTY1MiwwLjA5NzM3LC0wLjc2NTgyOF0sWy0xLjEzNzc5MywxLjg4ODg0NiwtMC44OTQxNjVdLFstMC4zNzI0Nyw0LjI5NjYxLC0xLjQ2NTE5OV0sWy0wLjE4NDYzMSw1LjY5Mjk0NiwtMC40MjEzOThdLFstMy43NTE2OTQsNy43NDIyMzEsLTEuMDg2OTA4XSxbLTEuMDAxNDE2LDEuMjk4MjI1LC0wLjkwNDY3NF0sWy0zLjUzNjg4NCw3LjE5MDc3NywtMC43ODg2MDldLFstMy43Mzc1OTcsNy41MTEyODEsLTAuOTQwMDUyXSxbLTEuNzY2NjUxLDAuNjY5Mzg4LC0wLjg3MzA1NF0sWzMuMTEyMjQ1LDMuNDc0MzQ1LC0xLjEyOTY3Ml0sWy0wLjE3NTUwNCwzLjgxMjk4LC0yLjA0NzldLFstMy43NjY3NjIsNy40MTI1MTQsLTAuNjgxNTY5XSxbLTAuNjMzNzUsOS40Mzk0MjQsLTAuNzg1MTI4XSxbLTAuNTE4MTk5LDQuNzY4OTgyLC0xLjI1ODYyNV0sWzAuNzkwNjE5LDQuMjEyNzU5LC0xLjYxMDIxOF0sWy0zLjc2MTk1MSwzLjc0MjUyOCwtMC43NTYyODNdLFswLjg5NzQ4Myw1LjY3OTgwOCwtMC42MTI0MjNdLFsyLjIyMTEyNiw0LjQyNzQ2OCwtMS4yNTIxNTVdLFstMC43Mjg1NzcsNS44NDY0NTcsMC4wNjI3MDJdLFswLjE5NDQ1MSw5LjUwMzkwOCwtMS40ODI0NjFdLFstMC4wOTkyNDMsOS4zODU0NTksLTEuMzk1NjRdLFswLjY0MzE4NSwzLjYzNjg1NSwtMi4xODAyNDddLFswLjg5NDUyMiw1LjkwMDYwMSwtMC4zNTY5MzVdLFsyLjU5NTUxNiw0Ljc1NzMxLC0wLjg5MzI0NV0sWzEuMTA4NDk3LDMuOTM2ODkzLC0xLjkwNTA5OF0sWzEuOTg5ODk0LDUuNzg5NzI2LC0wLjM0MzI2OF0sWy0zLjgwMjM0NSw3LjY1NTUwOCwtMC42MTM4MTddLFsyLjMzOTM1Myw0Ljk2MjU3LC0wLjkwMzA4XSxbMC4xMjU2NCw0LjAxMzMyNCwtMS44NzkyMzZdLFstNC4wNzg5NjUsMy42ODMyNTQsLTAuNDQ1NDM5XSxbMi4wOTI4OTksNS4yNTYxMjgsLTAuODMxNjA3XSxbMC40Mjc1NzEsMC4yOTE3NjksMS4yNzI5NjRdLFsyLjMzNTU0OSwzLjQ4MDA1NiwtMS41ODE5NDldLFstMC4xNTY4NywwLjMyNDgyNywtMS42NDg5MjJdLFstMC41MzY1MjIsNS43NjA3ODYsLTAuMjAzNTM1XSxbMS41MDcwODIsMC4wNzgyNTEsLTAuOTIzMTA5XSxbLTEuODU0NzQyLDAuMTM0ODI2LDIuNjk4Nzc0XSxbLTMuOTM5ODI3LDMuMTY4NDk4LC0wLjUyNjE0NF0sWy0zLjk4NDYxLDMuMzk4NjksLTAuNTMzMjEyXSxbLTMuOTYxNzM4LDQuMjE3MTMyLC0wLjQ4OTE0N10sWzQuMjczNzg5LDIuMTgxMTY0LDAuMTUzNzg2XSxbLTAuNDcwNDk4LDUuNjQ1NjY0LC0wLjQzOTA3OV0sWy0wLjQxNDUzOSw1LjQ4ODAxNywtMC42NzMzNzldLFstMC4wOTc0NjIsNS4wNjI3MzksLTEuMTE0ODYzXSxbMS4xOTgwOTIsNS44ODIyMzIsLTAuMzkxNjk5XSxbMi44NTU4MzQsNS4wODUwMjIsLTAuNDk4Njc4XSxbMS4wMzc5OTgsNC4xMjk3NTcsLTEuNzAxODExXSxbMS43MjgwOTEsNS4wNjg0NDQsLTEuMDYzNzYxXSxbLTMuODMyMjU4LDIuNjI1MTQxLC0wLjMxMTM4NF0sWy00LjA3ODUyNiwzLjA3MDI1NiwtMC4yODQzNjJdLFstNC4wODAzNjUsMy45NTQyNDMsLTAuNDQwNDcxXSxbLTAuMTUyNTc4LDUuMjc2MjY3LC0wLjkyOTgxNV0sWy0xLjQ4OTYzNSw4LjkyODA4MiwtMC4yOTU4OTFdLFswLjc1OTI5NCw1LjE1NTg1LC0xLjA4NzM3NF0sWy00LjAwMDMzOCwyLjgwMTY0NywtMC4yMzUxMzVdLFstNC4yOTA4MDEsMy44MjMyMDksLTAuMTkzNzRdLFstNC4yMjE0OTMsNC4yNTYxOCwtMC4xODk4OTRdLFstNC4wNjYxOTUsNC43MTkxNiwtMC4yMDE3MjRdLFstMC4xNTUzODYsNC4wNzYzOTYsLTEuNjYyODY1XSxbMy4wNTQ1NzEsNC40MTQzMDUsLTAuODI1OTg1XSxbLTEuNjUyOTE5LDguNzI2NDk5LC0wLjM4ODUwNF0sWy0zLjA0Mjc1MywwLjU2MDA2OCwtMC4xMjY0MjVdLFstMi40MzQ0NTYsMS4xMTgwODgsLTAuMjEzNTYzXSxbLTIuNjIzNTAyLDEuODQ1MDYyLC0wLjI4MzY5N10sWy00LjIzMzM3MSwzLjQzOTQxLC0wLjIwMjkxOF0sWzIuNzI2NzAyLDMuODIwNzEsLTEuMjgwMDk3XSxbMC4xODQxOTksNC4xNDYzOSwtMS42NzM2NTNdLFstMS4yODkyMDMsMC42MjQ1NjIsLTEuNTYwOTI5XSxbLTMuODIzNjc2LDcuMzgyNDU4LC0wLjQwNzIyM10sWzAuNDc2NjY3LDUuMDY0NDE5LC0xLjE0Mzc0Ml0sWy0zLjg3MzY1MSw0Ljk1NTExMiwtMC4yNjkzODldLFsxLjM0OTY2Niw1LjMxMjIyNywtMS4wMDAyNzRdLFstMi4wNDM3NzYsOC40MzQ0ODgsLTAuMTA4ODkxXSxbLTIuNzYzOTY0LDAuNzMzMzk1LC0wLjEyOTI5NF0sWy00LjM4MDUwNSwzLjY2NDQwOSwtMC4wMjQ1NDZdLFstMC43MTIxMSw1LjM0MTgxMSwtMC44MDMyODFdLFstMy45NjA4NTgsNy4xODMxMTIsLTAuMTE4NDA3XSxbLTMuODIyMjc3LDcuNzEyODUzLC0wLjI2MzIyMV0sWy0yLjM0NjgwOCw4LjEwODU4OCwwLjA2MzI0NF0sWy0xLjg0MTczMSw4LjY0Mjk5OSwtMC4xNDI0OTZdLFstMi42MDAwNTUsMC45ODU2MDQsLTAuMDQzNTk1XSxbLTMuNTEzMDU3LDIuMjEzMjQzLC0wLjA0NDE1MV0sWy0zLjk2MzQ5MiwyLjYwMzA1NSwtMC4wODA4OThdLFstNC4yNTgwNjYsMy4xNDUzNywtMC4wMjcwNDZdLFstNC4yNjE1NzIsNS4wMDMzNCwwLjEzMDA0XSxbMC43OTU0NjQsMy45OTg3MywtMS45MDU2ODhdLFstMy4zMDA4NzMsMC4zODQ3NjEsMC4wMTMyNzFdLFstMi43NzAyNDQsMC44ODE5NDIsMC4wNzczMTNdLFstMy40NTYyMjcsMS45OTM4NzEsMC4zMDEwNTRdLFstNC40NDE5ODcsMy45MTQxNDQsMC4xNzc4NjddLFstNC4zNjcwNzUsNi42MTE0MTQsMC4xNjUzMTJdLFstMy4yMDE3NjcsMC41NzYyOTIsMC4xMDU3NjldLFstMy4xNzQzNTQsMC42NDUwMDksMC40NDAzNzNdLFstMi45OTY1NzYsMC43NDI2MiwwLjE2MTMyNV0sWy0yLjcyNDk3OSwxLjY1NjQ5NywwLjA5Mjk4M10sWy0zLjI2MTc1NywyLjAxNzc0MiwtMC4wNzA3NjNdLFstNC4yODAxNzMsNC41MTgyMzUsLTAuMDAyOTk5XSxbLTQuNDcxMDczLDUuOTQ1MzU4LDAuMDUyMDJdLFstMy44NzcxMzcsMi40MDc0MywwLjI3NDkyOF0sWy00LjM3MTIxOSw0LjI1Mjc1OCwwLjA3ODAzOV0sWy0zLjQwMDkxNCwwLjQwOTgzLDAuMjM4NTk5XSxbLTQuNDQyOTMsMy41MjMyNDIsMC4xNDYzMzldLFstNC41NzQ1MjgsNS4yNzk3NjEsMC4zNTM5MjNdLFstNC4yMjY2NDMsNy4xOTEyODIsMC4yNjkyNTZdLFstNC4xNjM2MSwyLjg0MzIwNCwwLjA5NzcyN10sWy00LjUyODUwNiw1LjAxMTY2MSwwLjUzNjYyNV0sWzAuMzU1MTQsNS42NjQ4MDIsLTAuNTcyODE0XSxbMi41MDg3MTEsNS41ODA5NzYsLTAuMjY2NjM2XSxbMi41NTYyMjYsMy42MzM3NzksLTEuNDI2MzYyXSxbMS44Nzg0NTYsNC41MzM3MTQsLTEuMjIzNzQ0XSxbMi40NjA3MDksNC40NDAyNDEsLTEuMTM5NV0sWzIuMjE4NTg5LDUuNTE0NjAzLC0wLjU2MDA2Nl0sWzIuMjYzNzEyLDUuNzM3MDIzLC0wLjI1MDY5NF0sWzIuOTY0OTgxLDMuODE0ODU4LC0xLjEzOTkyN10sWzAuOTkxMzg0LDUuMzA0MTMxLC0wLjk5OTg2N10sWzIuODExODcsNC41NDcyOTIsLTAuOTE2MDI1XSxbMi45MTgwODksNC43NjgzODIsLTAuNzAyODA4XSxbMy4yNjI0MDMsNC40MTQyODYsLTAuNjU3OTM1XSxbMC42NTIxMzYsNi4wODkxMTMsMC4wNjkwODldLFszLjM2MTM4OSwzLjUwNTIsLTAuOTQ2MTIzXSxbMi42MTMwNDIsNS4wMzcxOTIsLTAuNjk3MTUzXSxbMC4wOTQzMzksNC4zNjg1OCwtMS40NTEyMzhdLFszLjI5MDg2Miw0LjE1NTcxNiwtMC43MzIzMThdLFsyLjY1ODA2Myw0LjA3MzYxNCwtMS4yMTc0NTVdLFszLjI2MDM0OSwzLjc1MzI1NywtMC45NDY4MTldLFsxLjEyNDI2OCw0Ljg2MjQ2MywtMS4yMDc4NTVdLFszLjM1MTU4LDQuODk5MjQ3LC0wLjAyNzU4Nl0sWzMuMTk0MDU3LDQuNjkxMjU3LC0wLjUyNDU2Nl0sWzMuMDkwMTE5LDUuMTE2MDg1LC0wLjIzMjU1XSxbMi40MTg5NjUsMy44MTE3NTMsLTEuNDE5Mzk5XSxbMi4xOTE3ODksMy44NzcwMzgsLTEuNDcwMjNdLFs0LjA0MzE2NiwyLjAzNDE4OCwwLjAxNTQ3N10sWy0xLjAyNjk2NiwwLjg2NzY2LC0xLjQxMDkxMl0sWzEuOTM3NTYzLDMuODYwMDA1LC0xLjYxNzQ2NV0sWzIuOTg5MDQsNC4xMDE4MDYsLTAuOTk4MTMyXSxbLTAuMTQyNjExLDUuODY1MzA1LC0wLjEwMDg3Ml0sWzMuOTcyNjczLDIuMjkyMDY5LDAuMDg5NDYzXSxbMy4yMzM0OSwzLjk1OTkyNSwtMC44NDk4MjldLFswLjE2MzA0LDUuODU3Mjc2LC0wLjIxNjcwNF0sWzQuMTIyOTY0LDEuNzcwMDYxLC0wLjExNDkwNl0sWzIuMDk5MDU3LDQuOTc4Mzc0LC0wLjk4NDQ5XSxbMy41MDI0MTEsMy43NjE4MSwtMC42Njc1MDJdLFsyLjA3OTQ4NCw1LjkzOTYxNCwtMC4wMzYyMDVdLFstMC4wODQ1NjgsMy41MjUxOTMsLTIuMjUzNTA2XSxbMC40MjM4NTksNC4wNjA5NSwtMS44NDUzMjddLFsxLjYwMTMsNi4wMDY0NjYsLTAuMTUzNDI5XSxbMC4yNzE3MDEsMy44NDQ5NjQsLTIuMDc4NzQ4XSxbMC4yNzM1NzcsNS4yMTg5MDQsLTAuOTk0NzExXSxbLTAuNDEwNTc4LDMuOTIxNjUsLTEuNzczNjM1XSxbMS45NDE5NTQsNS42MDA0MSwtMC42MjE1NjldLFswLjEwMDgyNSw1LjQ2MjEzMSwtMC43NzQyNTZdLFstMC41MzAxNiwzLjYxOTg5MiwtMi4wMjc0NTFdLFstMC44MjIzNzEsNS41MTc0NTMsLTAuNjA1NzQ3XSxbLTIuNDc0OTI1LDcuNjcwODkyLC0wLjAyMDE3NF0sWzQuMDE1NzEsMC44MzAxOTQsLTAuMDEzNzkzXSxbLTAuNDAwMDkyLDUuMDk0MTEyLC0xLjA0MTk5Ml0sWy0yLjg4NzI4NCw1LjU4MTI0NiwtMC41MjUzMjRdLFstMS41NTk4NDEsNi4wNTA5NzIsMC4wNzkzMDFdLFstMC40NjkzMTcsMy4yOTE2NzMsLTIuMjM1MjExXSxbMC4zMzczOTcsMy40Njc5MjYsLTIuMjk1NDU4XSxbLTIuNjMyMDc0LDUuNTczNzAxLC0wLjU4MjcxN10sWy0wLjAzMDMxOCw2LjAxMTM5NSwwLjI3NjYxNl0sWy0wLjkzNDM3MywwLjM4ODk4NywtMS43ODA1MjNdLFstMi42NjEyNjMsNS44NDQ4MzgsLTAuNDI1OTY2XSxbMC41NDkzNTMsNS40ODk2NDYsLTAuODA3MjY4XSxbLTIuMTk0MzU1LDYuMTk3NDkxLC0wLjEwOTMyMl0sWy0yLjI4OTYxOCw1LjY2NDgxMywtMC41ODEwOThdLFsxLjU4MzU4MywzLjc5NjM2NiwtMS44NDQ0OThdLFswLjg1NTI5NSwwLjIxNTk3OSwtMS40MjU1NTddLFstMi42Mjc1NjksNS4zMDAyMzYsLTAuNzY3MTc0XSxbNC4zMzMzNDcsMi4zODQzMzIsMC4zOTkxMjldLFstMS44ODA0MDEsNS41ODM4NDMsLTAuNjk2NTYxXSxbLTIuMTcyMzQ2LDUuMzI0ODU5LC0wLjg0NjI0Nl0sWy0yLjI3MDU4LDUuOTA2MjY1LC0wLjM4ODM3M10sWy0xLjk2MDA0OSw1Ljg4OTM0NiwtMC4zOTc1OTNdLFswLjk2NTc1NiwzLjY3NTQ3LC0yLjEwNTY3MV0sWy0yLjAxNDA2Niw2LjQzMTEyNSwwLjI4NzI1NF0sWy0xLjc3NjE3Myw1LjI4NzA5NywtMC44OTA5MV0sWy0yLjAyNTg1Miw1LjA4OTU2MiwtMC45ODAyMThdLFstMS44ODY0MTgsNi4xMDgzNTgsLTAuMDAwNjY3XSxbLTEuNjAwODAzLDUuNzg1MzQ3LC0wLjQ5MTA2OV0sWy0xLjY2MTg4LDQuOTY4MDUzLC0xLjA0MjUzNV0sWy0xLjYwMDYyMSw1Ljk2MjgxOCwtMC4xODgwNDRdLFstMS41ODg4MzEsNS42MTU0MTgsLTAuNjY1NDU2XSxbNC40NjkwMSwxLjg4MDEzOCwwLjA1NzI0OF0sWy0xLjk3ODg0NSwwLjkyNzM5OSwtMC41NTQ4NTZdLFstMS40MDgwNzQsNS4zMjUyNjYsLTAuODM5NjddLFsxLjkyMzEyMyw0Ljg0Mzk1NSwtMS4xMDEzODldLFstMi44NzM3OCwwLjExNzEwNiwtMC40MTI3MzVdLFstMS4yMjIxOTMsNS42MjYzOCwtMC41Mzk5ODFdLFstMi42MzI1MzcsMC4xNjYzNDksLTAuNDg5MjE4XSxbLTEuMzcwODY1LDUuODM4ODMyLC0wLjM0MTAyNl0sWy0xLjA2Nzc0Miw1LjQ0ODg3NCwtMC42OTI3MDFdLFstMS4wNzM3OTgsNS4yMjA4NzgsLTAuOTA4Nzc5XSxbLTEuMTQ3NTYyLDQuOTUwNDE3LC0xLjA3OTcyN10sWy0yLjc4OTExNSw0LjUzMTA0NywtMS4wNDI3MTNdLFstMy41NTA4MjYsNC4xNzA0ODcsLTAuODA2MDU4XSxbLTMuMzMxNjk0LDQuNzk4MTc3LC0wLjY5NTY4XSxbLTMuNjg5NDA0LDQuNjg4NTQzLC0wLjUzNDMxN10sWy0zLjUxMTUwOSw1LjEwNjI0NiwtMC40ODM2MzJdLFsxLjc5NjM0NCwwLjA3NjEzNywwLjA4MDQ1NV0sWy0zLjMwNjM1NCw1LjQ3MzYwNSwtMC40Nzg3NjRdLFstMi42OTI1MDMsMy4zNDY2MDQsLTEuMjA5NTldLFstMy45NjMwNTYsNS4xODc0NjIsMy4xMTMxNTZdLFstMy45MDEyMzEsNi4zOTE0NzcsLTAuMjQ2OTg0XSxbNC40ODQyMzQsMS41MTg2MzgsLTAuMDAxNjE3XSxbNC4zMDg4MjksMS42NTc3MTYsLTAuMTE5Mjc1XSxbNC4yOTAwNDUsMS4zMzk1MjgsLTAuMTEwNjI2XSxbLTMuNTE0OTM4LDMuNTI0OTc0LC0wLjkwOTEwOV0sWy0yLjE5NDMsMi4xMjE2MywtMC43MTk2Nl0sWzQuMTA4MjA2LDEuMDkxMDg3LC0wLjExNDE2XSxbMy43ODUzMTIsMS4zOTI0MzUsLTAuMjg1ODhdLFs0LjA5Mjg4NiwxLjQ4MDQ3NiwtMC4yMTA2NTVdLFstMi45NjU5MzcsNi40NjkwMDYsLTAuMzc5MDg1XSxbLTMuNzA4NTgxLDIuOTYyOTc0LC0wLjYzOTc5XSxbLTMuMjk3OTcxLDIuMjE4OTE3LC0wLjI5OTg3Ml0sWzMuODA2OTQ5LDAuODA0NzAzLC0wLjExNDM4XSxbMy43NDc5NTcsMS4wNTkyNTgsLTAuMjczMDY5XSxbLTMuMTAxODI3LDQuMTExNDQ0LC0xLjAwNjI1NV0sWy0xLjUzNjQ0NSw0LjY1ODkxMywtMS4xOTUwNDldLFstMy41NDk4MjYsMi40NTA1NTUsLTAuMzc1Njk0XSxbLTMuNjc2NDk1LDIuMTA4MzY2LDAuNTM0MzIzXSxbLTMuNjc0NzM4LDUuOTI1MDc1LC0wLjQwMDAxMV0sWy0yLjI1MDExNSwyLjg0ODMzNSwtMS4xMjExNzRdLFstMy42OTgwNjIsNS42Njc1NjcsLTAuMzgxMzk2XSxbMy40Njg5NjYsMC43MzQ2NDMsLTAuMTkwNjI0XSxbLTMuOTc5NzIsNS42NzAwNzgsLTAuMjY4NzRdLFstMy4wMDIwODcsNC4zMzc4MzcsLTEuMDMzNDIxXSxbLTMuMzU2MzkyLDIuNjA4MzA4LC0wLjcxMzMyM10sWy0xLjgzMzAxNiwzLjM1OTk4MywtMS4yODc3NV0sWy0xLjk4OTA2OSwzLjYzMjQxNiwtMS4zMDU2MDddLFszLjU5MTI1NCwwLjU0MjM3MSwwLjAyNjE0Nl0sWzMuMzY0OTI3LDEuMDgyNTcyLC0wLjM0MjYxM10sWy0zLjM5Mzc1OSwzLjg2NjgwMSwtMC45MzcyNjZdLFstNC4xMjQ4NjUsNS41NDk1MjksLTAuMTYxNzI5XSxbLTQuNDIzNDIzLDUuNjg3MjIzLDAuMDAwMTAzXSxbLTEuNDk2ODgxLDIuNjAxNzg1LC0xLjExNDMyOF0sWy0yLjY0MjI5Nyw2LjQ5NjkzMiwtMC4yNjQxNzVdLFstMy42ODQyMzYsNi44MTk0MjMsLTAuMzIwMjMzXSxbLTIuMjg2OTk2LDMuMTY3MDY3LC0xLjI0NjY1MV0sWy0xLjYyNDg5Niw4LjQ0ODQ4LC0wLjUzMDAxNF0sWy0zLjY2Njc4NywyLjE1OTI2NiwwLjI2ODE0OV0sWy0yLjQwMjYyNSwyLjAxMTI0MywtMC41NjQ0Nl0sWy0yLjczNjE2NiwyLjI1OTgzOSwtMC42OTQzXSxbLTIuMTY4NjExLDMuODkwNzgsLTEuMjkyMjA2XSxbLTIuMDY1OTU2LDMuMzQ1NzA4LC0xLjI4MTM0Nl0sWy0yLjc3ODE0NywyLjY3NTYwNSwtMC45OTU3MDZdLFstMy41MDc0MzEsNC41MTMyNzIsLTAuNzE4MjldLFstMi4zMDExODQsNC4yOTM5MTEsLTEuMjM4MTgyXSxbMy4yMDU4MDgsMC4yMTEwNzgsMC4zOTQzNDldLFstMi4xMjk5MzYsNC44NzA1NzcsLTEuMDgwNzgxXSxbLTIuMjg3OTc3LDIuNDk2NTkzLC0wLjkzNDA2OV0sWy0yLjcwMTgzMywyLjkzMTgxNCwtMS4xMTQ1MDldLFszLjI5NDc5NSwwLjUwNjMxLC0wLjA4MTA2Ml0sWy0yLjU1MjgyOSw3LjQ2ODc3MSwtMC4wMjE1NDFdLFszLjA2NzIxLDAuOTQ0MDY2LC0wLjQzMDc0XSxbLTIuODYwODYsMS45NzM2MjIsLTAuMzAzMTMyXSxbLTMuNTk4ODE4LDUuNDE5NjEzLC0wLjQwMTY0NV0sWy0xLjUyNDM4MSwwLjA4MDE1NiwtMS42MTY2Ml0sWy0xLjkwNzI5MSwyLjY0NjI3NCwtMS4wMzk0MzhdLFsyLjk1MDc4MywwLjQwNzU2MiwtMC4xMDU0MDddLFstMS42NjMwNDgsMS42NTUwMzgsLTAuNjg5Nzg3XSxbLTEuNzI4MTAyLDEuMTEwMDY0LC0wLjYzNTk2M10sWy0yLjA4NTgyMyw3LjY4NjI5NiwtMC4xNTk3NDVdLFsyLjg4MzUxOCwzLjE1NzAwOSwtMS4zMDg1OF0sWy0yLjcyNDExNiwwLjQxNzE2OSwtMC4zODk3MTldLFstMS43ODg2MzYsNy44NjI2NzIsLTAuMzQ2NDEzXSxbLTIuMTg2NDE4LDEuMjQ5NjA5LC0wLjQzNDU4M10sWy0zLjA5MjQzNCwyLjYwNjY1NywtMC44NjAwMDJdLFstMS43MzczMTQsMy44NzQyMDEsLTEuMzMwOTg2XSxbMi41NjQ1MjIsMC40MjI5NjcsLTAuMzkwOTAzXSxbMS42NzA3ODIsMy41Mzg0MzIsLTEuOTI0NzUzXSxbLTIuMzM4MTMxLDQuMDI1NzgsLTEuMjg2NjczXSxbLTEuOTE2NTE2LDQuMDU0MTIxLC0xLjMwMTc4OF0sWzIuODcxNTksMi4wMzQ5NDksLTEuMjY3MTM5XSxbLTEuOTMxNTE4LDMuMDYyODgzLC0xLjE5NzIyN10sWy0wLjgxNjYwMiwwLjEzNTY4MiwzLjEwNDEwNF0sWzAuNDY5MzkyLDAuMjEzOTE2LC0xLjQ4OTYwOF0sWzIuNTc0MDU1LDEuOTUwMDkxLC0xLjUxNDQyN10sWzIuNzMzNTk1LDIuNjgyNTQ2LC0xLjQ2MTIxM10sWy0xLjkxNTQwNyw0LjY5MzY0NywtMS4xNTE3MjFdLFstMy40MTI4ODMsNS44NjcwOTQsLTAuNDUwNTI4XSxbMi4yODgyMiwwLjEyMDQzMiwtMC4wNDEwMl0sWzIuMjQ0NDc3LDAuMTQ0MjQsLTAuMzc2OTMzXSxbLTEuNjc2MTk4LDMuNTcwNjk4LC0xLjMyODAzMV0sWy0xLjgyMTE5Myw0LjM2Njk4MiwtMS4yNjYyNzFdLFstMS41NTIyMDgsOC4wOTkyMjEsLTAuNTMyNjJdLFstMS43Mjc0MTksMi4zOTA5NywtMC45ODk0NTZdLFstMi40NjgyMjYsNC43MTE2NjMsLTEuMDY5NzY2XSxbLTIuNDUxNjY5LDYuMTEzMzE5LC0wLjI3Mzc4OF0sWzIuNjM1NDQ3LDIuMjk1ODQyLC0xLjUxODM2MV0sWy0yLjAyMDgwOSw4LjE1MDI1MywtMC4yNDY3MTRdLFsyLjI5MjQ1NSwwLjgwNTU5NiwtMS4zMDQyXSxbMi42NDE1NTYsMS42NTY2NSwtMS40NjY5NjJdLFsyLjQwOTA2MiwyLjg0MjUzOCwtMS42MzUwMjVdLFsyLjQ1NjY4MiwxLjQ1OTQ4NCwtMS41NzU0M10sWy0xLjY5MTA0NywzLjE3MzU4MiwtMS4yNDcwODJdLFstMS44NjU2NDIsMS45NTc2MDgsLTAuNzY4NjgzXSxbLTMuNDAxNTc5LDAuMjA0MDcsMC4xMDA5MzJdLFsyLjMwMTk4MSwxLjcxMDIsLTEuNjUwNDYxXSxbMi4zNDI5MjksMi42MTE5NDQsLTEuNjkwNzEzXSxbLTEuNjc2MTExLDIuOTIzODk0LC0xLjE3ODM1XSxbLTIuOTkyMDM5LDMuNTQ3NjMxLC0xLjExODk0NV0sWy0zLjU3MTY3Nyw2LjUwNDYzNCwtMC4zNzU0NTVdLFsyLjE0MTc2NCwxLjQ2MDg2OSwtMS43MDI0NjRdLFstMy4yMjE5NTgsNS4xNDYwNDksLTAuNjE1NjMyXSxbMi4xOTIzOCwyLjk0OTM2NywtMS43NDcyNDJdLFsyLjMyMDc5MSwyLjIzMjk3MSwtMS43MDY4NDJdLFsyLjA4ODY3OCwyLjU4NTIzNSwtMS44MTMxNTldLFstMi4xOTY0MDQsMC41OTIyMTgsLTAuNTY5NzA5XSxbLTIuMTIwODExLDEuODM2NDgzLC0wLjYyMzM4XSxbLTEuOTQ5OTM1LDIuMjcxMjQ5LC0wLjg3NDEyOF0sWzIuMjM1OTAxLDEuMTEwMTgzLC0xLjUxMDcxOV0sWzIuMDIwMTU3LDMuMjQxMTI4LC0xLjgwMzkxN10sWzIuMDU0MzM2LDEuOTQ5Mzk0LC0xLjc5MjMzMl0sWy0zLjA5NDExNyw0Ljk5NjU5NSwtMC43NDAyMzhdLFsyLjAzODA2MywwLjYzNTk0OSwtMS40MDIwNDFdLFsxLjk4MDY0NCwxLjY4NDQwOCwtMS43Njc3OF0sWzEuNTg3NDMyLDMuMzA2NTQyLC0xLjk5MTEzMV0sWzEuOTM1MzIyLDAuOTc2MjY3LC0xLjYwMjIwOF0sWzEuOTIyNjIxLDEuMjM1NTIyLC0xLjY5ODgxM10sWzEuNzEyNDk1LDEuOTExODc0LC0xLjkwMzIzNF0sWzEuOTEyODAyLDIuMjU5MjczLC0xLjg4ODY5OF0sWzEuODg0MzY3LDAuMzU1NDUzLC0xLjMxMjYzM10sWzEuNjc2NDI3LDAuNzYyODMsLTEuNTM5NDU1XSxbMS43ODQ1MywyLjgzNjYyLC0xLjk0MzAzNV0sWzEuNjk3MzEyLDAuMTIwMjgxLC0xLjE1MDMyNF0sWzEuNjQ4MzE4LDIuNDg0OTczLC0xLjk5OTUwNV0sWy00LjA1MTgwNCw1Ljk1ODQ3MiwtMC4yMzE3MzFdLFstMS45NjQ4MjMsMS40NjQ2MDcsLTAuNTgxMTVdLFsxLjU1OTk2LDIuMTgzNDg2LC0xLjk3MTM3OF0sWzEuNjI4MTI1LDEuMDQ1OTEyLC0xLjcwNzgzMl0sWzEuNzAxNjg0LDEuNTQwNDI4LC0xLjgyNzE1Nl0sWzEuNTY3NDc1LDQuODY5NDgxLC0xLjE4NDY2NV0sWzEuNDMyNDkyLDAuODQzNzc5LC0xLjY0ODA4M10sWzEuMTczODM3LDIuOTc4OTgzLC0yLjE1NjY4N10sWzEuMjM1Mjg3LDMuMzc5NzUsLTIuMDk1MTVdLFsxLjI1MjU4OSwxLjUyNTI5MywtMS45NDkyMDVdLFsxLjE1OTMzNCwyLjMzNjM3OSwtMi4xMDUzNjFdLFsxLjQ5MDYxLDIuNjk1MjYzLC0yLjA4MzIxNl0sWy00LjEyMjQ4Niw2Ljc4MjYwNCwtMC4wMjU0NV0sWzEuMTczMzg4LDAuMjc5MTkzLC0xLjQyMzQxOF0sWzEuNTA1Njg0LDAuMzgwODE1LC0xLjQxNDM5NV0sWzEuMzkxNDIzLDEuMzQzMDMxLC0xLjg0MzU1N10sWzEuMjYzNDQ5LDIuNzMyMjUsLTIuMTQ0OTYxXSxbMS4yOTU4NTgsMC41OTcxMjIsLTEuNTE1NjI4XSxbMS4yNDU4NTEsMy43MjkxMjYsLTEuOTkzMDE1XSxbLTIuNzYxNDM5LDYuMjM3MTcsLTAuMzY1ODU2XSxbMC45Nzg4ODcsMS42NjQ4ODgsLTIuMDQ2NjMzXSxbMS4yMTk1NDIsMC45ODI3MjksLTEuNzg1NDg2XSxbMS4zMTU5MTUsMS45MTc0OCwtMi4wMjc4OF0sWy0zLjA1Mjc0NiwyLjEyNzIyMiwtMC4zNjkwODJdLFswLjk3NzY1NiwxLjM2MjIzLC0xLjk0NDExOV0sWzAuOTM2MTIyLDMuMzk0NDcsLTIuMjAzMDA3XSxbLTIuNzQwMDM2LDQuMTg0NzAyLC0xLjEyMjg0OV0sWzAuODUzNTgxLDIuODY0Njk0LC0yLjI2MDg0N10sWzAuNzE5NTY5LDAuODE4NzYyLC0xLjc2MzYxOF0sWzAuODM5MTE1LDEuMTU5MzU5LC0xLjkwNzk0M10sWzAuOTMyMDY5LDEuOTQ1NTksLTIuMTE3OTYyXSxbMC41NzkzMjEsMy4zMjY3NDcsLTIuMjk5MzY5XSxbMC44NjMyNCwwLjU5NzgyMiwtMS41NjUxMDZdLFswLjU3NDU2NywxLjE1ODQ1MiwtMS45NDMxMjNdLFswLjUyNTEzOCwyLjEzNzI1MiwtMi4yMTM4NjddLFswLjc3OTk0MSwyLjM0MjAxOSwtMi4yMDYxNTddLFswLjkxNTI1NSwyLjYxODEwMiwtMi4yMDkwNDFdLFswLjUyNjQyNiwzLjAyMjQxLC0yLjMyMTgyNl0sWzAuNDk1NDMxLDIuNTIxMzk2LC0yLjI5NTkwNV0sWzAuODA3OTksMy4xNTY4MTcsLTIuMjg2NDMyXSxbMC4yNzM1NTYsMS4zMDQ5MzYsLTIuMDEyNTA5XSxbMC42NjQzMjYsMS41MzAwMjQsLTIuMDQ4NzIyXSxbMC4yMTkxNzMsMi4zMjkwNywtMi4zMjMyMTJdLFswLjQwNTMyNCwwLjY5NTM1OSwtMS43MDQ4ODRdLFswLjM5ODgyNywwLjk0NjY0OSwtMS44NDM4OTldLFswLjM0NTEwOSwxLjYwODgyOSwtMi4xMDAxNzRdLFstMi4zNTY3NDMsMC4wNjIwMzIsLTAuNDk0N10sWy0zLjAwMTA4NCwwLjI3MTQ2LDIuNTYwMDM0XSxbLTIuMDY0NjYzLDAuMzAzMDU1LC0wLjY5NzMyNF0sWzAuMjIxMjcxLDMuMTc0MDIzLC0yLjM3NDM5OV0sWzAuMTk1ODQyLDAuNDM3ODY1LC0xLjYyMTQ3M10sWy0wLjM4NTYxMywwLjI5Nzc2MywxLjk2MDA5Nl0sWzEuOTk5NjA5LDAuMTA4OTI4LC0wLjc5MTI1XSxbMC4zNTE2OTgsOS4yMjc0OTQsLTEuNTc1NjVdLFswLjAyMTQ3NywyLjE5MTkxMywtMi4zMDkzNTNdLFswLjI0NjM4MSwyLjgzNjU3NSwtMi4zNTYzNjVdLFsxLjU0MzI4MSwwLjIzNzUzOSwxLjkwMTkwNl0sWzAuMDMxODgxLDkuMTQ3MDIyLC0xLjQ1NDIwM10sWy0wLjAwMTg4MSwxLjY0ODUwMywtMi4xMDgwNDRdLFswLjMzMzQyMywxLjkwNzA4OCwtMi4yMDQ1MzNdLFswLjA0NDA2MywyLjYzNDAzMiwtMi4zNjg0MTJdLFstMC4wMjgxNDgsMy4wNTM2ODQsLTIuMzkwMDgyXSxbMC4wMjQxMywzLjM0Mjk3LC0yLjM2NTQ0XSxbLTAuMjcyNjQ1LDkuMDI4NzksLTEuMjM4Njg1XSxbLTAuMDA2MzQ4LDAuODMyMDQ0LC0xLjc1ODIyMl0sWy0wLjMyMTEwNSwxLjQ1ODc1NCwtMS44ODYzMTNdLFstMC4xNTM5NDgsOC42MTg4MDksLTEuMTA1MzUzXSxbLTAuNDA5MzAzLDEuMTM3NzgzLC0xLjcyMDU1Nl0sWy0wLjQxMDA1NCwxLjc0Mjc4OSwtMS45NTc5ODldLFstMC4yODc5MDUsMi4zODA0MDQsLTIuMjk0NTA5XSxbLTAuMjYxMzc1LDIuNjQ2NjI5LC0yLjM1NjMyMl0sWy0wLjIyMTk4NiwzLjIxNTMwMywtMi4zNDU4NDRdLFstMC4zMTYwOCwwLjY4NzU4MSwtMS43MTkwMV0sWy0wLjUzNzcwNSwwLjg1NTgwMiwtMS42NDg1ODVdLFstMC4xNDI4MzQsMS4xOTMwNTMsLTEuODczNzFdLFstMC4yNDM3MSwyLjA0NDQzNSwtMi4xNzY5NThdLFstMC40Mzc5OTksMi45NTk3NDgsLTIuMjk5Njk4XSxbLTAuNzg4OTUsMC4xNzYyMjYsLTEuNzI5MDQ2XSxbLTAuNjA4NTA5LDAuNTQ2OTMyLC0xLjczNDAzMl0sWy0wLjY5MzY5OCw0LjQ3ODc4MiwtMS4zNjkzNzJdLFstMC42NjkxNTMsOC40Njk2NDUsLTAuOTExMTQ5XSxbLTAuNzQxODU3LDEuMDgyNzA1LC0xLjQ1ODQ3NF0sWy0wLjU1NDA1OSwyLjQ0MDMyNSwtMi4xNDE3ODVdLFsyLjA5MjYxLDAuMTUzMTgyLDIuNTc1ODFdLFsxLjc5MjU0NywwLjExMTc5NCwyLjU2Mzc3N10sWzEuODU1Nzg3LDAuMTg5NTQxLDIuODM1MDg5XSxbMS40OTI2MDEsMC4yMzIyNDYsMi45ODc2ODFdLFstMC4yODQ5MTgsMC4yMzY2ODcsMy40Mjk3MzhdLFsyLjYwNDg0MSwwLjExOTk3LDEuMDE1MDZdLFswLjMzMTI3MSwwLjE2ODExMywzLjEyNDAzMV0sWzAuMjgwNjA2LDAuMzA4MzY4LDIuNDk1OTM3XSxbMC41NDQ1OTEsMC4zMjU3MTEsMi4wODEyNzRdLFswLjE5MzE0NSwwLjE5MTU0LC0wLjk3NzU1Nl0sWzMuODEwMDk5LDAuNDIzMjQsMS4wMzIyMDJdLFszLjU0NjIyLDAuMzc5MjQ1LDEuMzkyODE0XSxbMC42MTQwMiwwLjI3NjMyOCwwLjg0OTM1Nl0sWy0xLjE5ODYyOCwwLjE0NDk1MywyLjkxMTQ1N10sWzQuMTcxOTksMC42ODAzNywxLjM5MTUyNl0sWzAuODgyNzksMC4zMjEzMzksMi4wNTkxMjldLFsxLjkzMDM1LDAuMTA5OTkyLDIuMDU0MTU0XSxbMS42MjAzMzEsMC4xMjE5ODYsMi4zNzIwM10sWzIuMzc0ODEyLDAuMTA5MjEsMS43MzQ4NzZdLFstMC4wMzEyMjcsMC4yOTQ0MTIsMi41OTM2ODddLFs0LjA3NTAxOCwwLjU2MTkxNCwxLjAzODA2NV0sWy0wLjU3MDM2NiwwLjEyNjU4MywyLjk3NTU1OF0sWzAuOTUwMDUyLDAuMzE4NDYzLDEuODA0MDEyXSxbMS4xMzAwMzQsMC4xMTcxMjUsMC45ODM4NV0sWzIuMTIzMDQ5LDAuMDg5NDYsMS42NjU5MTFdLFsyLjA4NzU3MiwwLjA2ODYyMSwwLjMzNTAxM10sWzIuOTI3MzM3LDAuMTY3MTE3LDAuMjg5NjExXSxbMC41Mjg4NzYsMC4zMTM0MzQsMy4yMDU5NjldLFsxLjE3NDkxMSwwLjE2Mjc0NCwxLjMyODI2Ml0sWy00Ljg4ODQ0LDUuNTk1MzUsMS42NjExMzRdLFstNC43MDk2MDcsNS4xNjUzMzgsMS4zMjQwODJdLFswLjg3MTE5OSwwLjI3NzAyMSwxLjI2MzgzMV0sWy0zLjkxMDg3NywyLjM0OTMxOCwxLjI3MjI2OV0sWzEuNTY4MjQsMC4xMTg2MDUsMi43NjgxMTJdLFsxLjE3OTE3NiwwLjE1MjYxNywtMC44NTgwMDNdLFsxLjYzNDYyOSwwLjI0Nzg3MiwyLjEyODYyNV0sWy00LjYyNzQyNSw1LjEyNjkzNSwxLjYxNzgzNl0sWzMuODQ1NTQyLDAuNTQ5MDcsMS40NTYwMV0sWzIuNjU0MDA2LDAuMTY1NTA4LDEuNjM3MTY5XSxbLTAuNjc4MzI0LDAuMjY0ODgsMS45NzQ3NDFdLFsyLjQ1MTEzOSwwLjEwMDM3NywwLjIxMzc2OF0sWzAuNjMzMTk5LDAuMjg2NzE5LDAuNDAzMzU3XSxbLTAuNTMzMDQyLDAuMjUyNCwxLjM3MzI2N10sWzAuOTkzMTcsMC4xNzExMDYsMC42MjQ5NjZdLFstMC4xMDAwNjMsMC4zMDY0NjYsMi4xNzAyMjVdLFsxLjI0NTk0MywwLjA5MjM1MSwwLjY2MTAzMV0sWzEuMzkwNDE0LDAuMTk4OTk2LC0wLjA4NjRdLFstNC40NTcyNjUsNS4wMzA1MzEsMi4xMzgyNDJdLFsyLjg5Nzc2LDAuMTQ2NTc1LDEuMjk3NDY4XSxbMS44MDI3MDMsMC4wODg4MjQsLTAuNDkwNDA1XSxbMS4wNTU0NDcsMC4zMDkyNjEsMi4zOTI0MzddLFsyLjMwMDQzNiwwLjE0MjQyOSwyLjEwNDI1NF0sWzIuMzMzOTksMC4xODc3NTYsMi40MTY5MzVdLFsyLjMyNTE4MywwLjEzNDM0OSwwLjU3NDA2M10sWzIuNDEwOTI0LDAuMzcwOTcxLDIuNjM3MTE1XSxbMS4xMzI5MjQsMC4yOTA1MTEsMy4wNjFdLFsxLjc2NDAyOCwwLjA3MDIxMiwtMC44MDUzNV0sWzIuMTU2OTk0LDAuMzk3NjU3LDIuODQ0MDYxXSxbMC45MjA3MTEsMC4yMjU1MjcsLTAuODgyNDU2XSxbLTQuNTUyMTM1LDUuMjQwOTYsMi44NTUxNF0sWzAuMjEwMDE2LDAuMzA5Mzk2LDIuMDY0Mjk2XSxbMC42MTIwNjcsMC4xMzY4MTUsLTEuMDg2MDAyXSxbMy4xNTAyMzYsMC40MjY3NTcsMS44MDI3MDNdLFstMC4yNDgyNCwwLjI4MjI1OCwxLjQ3MDk5N10sWzAuOTc0MjY5LDAuMzAxMzExLC0wLjY0MDg5OF0sWy00LjQwMTQxMyw1LjAzOTY2LDIuNTM1NTUzXSxbMC42NDQzMTksMC4yNzQwMDYsLTAuODE3ODA2XSxbMC4zMzI5MjIsMC4zMDkwNzcsMC4xMDg0NzRdLFszLjYxMDAwMSwwLjMxNzQ0NywwLjY4OTM1M10sWzMuMzM1NjgxLDAuMzU4MTk1LDAuMTE4NDc3XSxbMC42MjM1NDQsMC4zMTg5ODMsLTAuNDE5M10sWy0wLjExMDEyLDAuMzA3NzQ3LDEuODMxMzMxXSxbLTAuNDA3NTI4LDAuMjkxMDQ0LDIuMjgyOTM1XSxbMC4wNjk3ODMsMC4yODUwOTUsMC45NTAyODldLFswLjk3MDEzNSwwLjMxMDM5MiwtMC4yODM3NDJdLFswLjg0MDU2NCwwLjMwNjg5OCwwLjA5ODg1NF0sWy0wLjU0MTgyNywwLjI2Nzc1MywxLjY4Mzc5NV0sWy0zLjk1NjA4Miw0LjU1NzEzLDIuMjk3MTY0XSxbLTQuMTYxMDM2LDIuODM0NDgxLDEuNjQxODNdLFstNC4wOTM5NTIsNC45Nzc1NTEsMi43NDc3NDddLFsyLjY2MTgxOSwwLjI2MTg2NywxLjkyNjE0NV0sWy0zLjc0OTkyNiwyLjE2MTg3NSwwLjg5NTIzOF0sWy0yLjQ5Nzc3NiwxLjM2MjksMC43OTE4NTVdLFswLjY5MTQ4MiwwLjMwNDk2OCwxLjU4MjkzOV0sWy00LjAxMzE5Myw0LjgzMDk2MywyLjQ3NjldLFstMy42Mzk1ODUsMi4wOTEyNjUsMS4zMDQ0MTVdLFstMy45NzY3LDIuNTYzMDUzLDEuNjI4NF0sWy0zLjk3OTkxNSwyLjc4ODYxNiwxLjk3Nzk3N10sWzAuMzg4NzgyLDAuMzEyNjU2LDEuNzA5MTY4XSxbLTMuNDA4NzMsMS44NzczMjQsMC44NTE2NTJdLFstMy42NzE2MzcsNS4xMzY5NzQsMy4xNzA3MzRdLFstMy4xMjk2NCwxLjg1MjAxMiwwLjE1NzY4Ml0sWy0zLjYyOTY4Nyw0Ljg1MjY5OCwyLjY4NjgzN10sWy0zLjE5NjE2NCwxLjc5MzQ1OSwwLjQ1MjgwNF0sWy0zLjc0NjMzOCwyLjMxMzU3LDEuNjQ4NTUxXSxbMi45OTIxOTIsMC4xMjUyNTEsMC41NzU5NzZdLFstMy4yNTQwNTEsMC4wNTQ0MzEsMC4zMTQxNTJdLFstMy40NzQ2NDQsMS45MjUyODgsMS4xMzQxMTZdLFstMy40MTgzNzIsMi4wMjI4ODIsMS41Nzg5MDFdLFstMi45MjA5NTUsMS43MDU0MDMsMC4yOTg0Ml0sWy0zLjU3MjI5LDIuMTUyMDIyLDEuNjA3NTcyXSxbLTMuMjUxMjU5LDAuMDkwMTMsLTAuMTA2MTc0XSxbLTMuMjk5OTUyLDEuODc3NzgxLDEuMzQ4NjIzXSxbLTMuNjY2ODE5LDIuNDQxNDU5LDIuMDA0ODM4XSxbLTIuOTEyNjQ2LDEuODI0NzQ4LC0wLjA0NTM0OF0sWy0zLjM5OTUxMSwyLjQ3OTQ4NCwyLjM0MDM5M10sWy0zLjAwOTc1NCwwLjAxNTI4NiwwLjA3NTU2N10sWy0zLjM4MTQ0MywyLjMxNjkzNywyLjE1NjkyM10sWy0zLjM1MjgwMSwyLjEzMzM0MSwxLjg1NzM2Nl0sWy0zLjAxNzg4LDEuNjg3Njg1LDAuNjQ1ODY3XSxbLTIuOTMxODU3LDEuNjc4NzEyLDEuMTU4NDcyXSxbLTMuMzAxMDA4LDAuMDg4MzYsMC41OTEwMDFdLFsxLjM1ODAyNSwwLjE5Nzk1LDEuNTk5MTQ0XSxbLTIuOTk5NTY1LDEuODQ1MDE2LDEuNjE4Mzk2XSxbLTIuNzY3OTU3LDAuMDI4Mzk3LC0wLjE5NjQzNl0sWy0yLjkzOTYyLDIuMDc4Nzc5LDIuMTQwNTkzXSxbLTMuMzQ2NjQ4LDIuNjc0MDU2LDIuNTE4MDk3XSxbMy4zMjQzMjIsMC4yMDgyMiwwLjYyODYwNV0sWzMuMDkxNjc3LDAuMTM3MjAyLDAuOTM0NV0sWy0yLjg4MTgwNywwLjAwOTk1MiwwLjMxODQzOV0sWy0yLjc2NDk0NiwxLjc4NjYxOSwxLjY5MzQzOV0sWy0yLjkwNTU0MiwxLjkzMjM0MywxLjkwMDAwMl0sWy0zLjE0MDg1NCwyLjI3MTM4NCwyLjI3NDk0Nl0sWy0yLjg4OTk1LDIuNDg3ODU2LDIuNTc0NzU5XSxbLTIuMzY3MTk0LC0wLjAwMDk0MywtMC4xNTU3Nl0sWy0zLjA1MDczOCwwLjA2ODcwMywwLjc0Mjk4OF0sWy0yLjc1OTUyNSwxLjU1Njc5LDAuODc3NzgyXSxbLTMuMTUxNzc1LDIuNDgwNTQsMi40ODI3NDldLFstMi41Nzg2MTgsLTAuMDAyODg1LDAuMTY1NzE2XSxbLTIuNjUxNjE4LDEuODc3MjQ2LDEuOTgxMTg5XSxbLTIuOTMzOTczLDAuMTMzNzMxLDEuNjMxMDIzXSxbMS4wNDc2MjgsMC4xMDAyODQsLTEuMDg1MjQ4XSxbLTEuNTg1MTIzLDAuMDYyMDgzLC0xLjM5NDg5Nl0sWy0yLjI4NzkxNywtMC4wMDI2NzEsMC4yMTQ0MzRdLFstMi41MjQ4OTksMC4wMDc0ODEsMC40NzE3ODhdLFstMi44MTU0OTIsMi4xODgxOTgsMi4zNDMyOTRdLFstMi4wOTUxNDIsLTAuMDAzMTQ5LC0wLjA5NDU3NF0sWy0yLjE3MjY4NiwtMC4wMDAxMzMsMC40Nzk2M10sWy0yLjczMjcwNCwwLjA3NDMwNiwxLjc0MjA3OV0sWy0yLjQ5NjUzLDIuMTQ1NjY4LDIuNDI2OTFdLFstMS4zNDM2ODMsMC4wNDc3MjEsLTEuNTA2MzkxXSxbLTIuNTgxMTg1LDAuMDQ4NzAzLDAuOTc1NTI4XSxbLTIuOTA1MTAxLDAuMDgzMTU4LDIuMDEwMDUyXSxbLTIuNjAxNTE0LDIuMDA3ODAxLDIuMjIzMDg5XSxbLTIuMzM5NDY0LDAuMDI2MzQsMS40ODQzMDRdLFstMi45MDc4NzMsMC4xMDM2NywyLjM3ODE0OV0sWy0xLjM2ODc5NiwwLjA2MjUxNiwtMS4wNDkxMjVdLFstMS45MzI0NCwwLjAyNDQzLC0wLjQyNzYwM10sWy0yLjcwNTA4MSwwLjA2MDUxMywyLjMwMzgwMl0sWzMuMzcyMTU1LDAuMjA2Mjc0LDAuODkyMjkzXSxbLTEuNzYxODI3LDAuMDkzMjAyLC0xLjAzNzQwNF0sWy0xLjcwMDY2NywwLjAzOTcsLTAuNjE0MjIxXSxbLTEuODcyMjkxLDAuMDExOTc5LC0wLjEzNTc1M10sWy0xLjkyOTI1NywwLjA3NDAwNSwwLjcyODk5OV0sWy0yLjUyMDEyOCwwLjA0OTY2NSwxLjk5MDU0XSxbLTIuNjk5NDExLDAuMTAwOTIsMi42MDMxMTZdLFszLjIxMTcwMSwwLjI3MzAyLDEuNDIzMzU3XSxbLTEuNDQ1MzYyLDAuMTM3MSwtMC42MjY0OTFdLFsyLjkyMTMzMiwwLjI1OTExMiwxLjY0NTUyNV0sWy0wLjk5MzI0MiwwLjA1ODY4NiwtMS40MDg5MTZdLFstMC45NDQ5ODYsMC4xNTc1NDEsLTEuMDk3NjY1XSxbLTIuMTU0MzAxLDAuMDMyNzQ5LDEuODgyMDAxXSxbLTIuMTA4Nzg5LDEuOTg4NTU3LDIuNDQyNjczXSxbLTEuMDE1NjU5LDAuMjU0OTcsLTAuNDE2NjY1XSxbLTEuODk4NDExLDAuMDE1ODcyLDAuMTY3MTVdLFstMS41ODU1MTcsMC4wMjcxMjEsMC40NTM0NDVdLFstMi4zMTExMDUsMC4wNjEyNjQsMi4zMjcwNjFdLFstMi42MzcwNDIsMC4xNTIyMjQsMi44MzIyMDFdLFstMi4wODc1MTUsMi4yOTI5NzIsMi42MTc1ODVdLFstMC43NTA2MTEsMC4wNTY2OTcsLTEuNTA0NTE2XSxbLTAuNDcyMDI5LDAuMDc1NjU0LC0xLjM2MDIwM10sWy0wLjcxMDc5OCwwLjEzOTI0NCwtMS4xODM4NjNdLFstMC45Nzc1NSwwLjI2MDUyLC0wLjgzMTE2N10sWy0wLjY1NTgxNCwwLjI2MDg0MywtMC44ODAwNjhdLFstMC44OTc1MTMsMC4yNzU1MzcsLTAuMTMzMDQyXSxbLTIuMDQ5MTk0LDAuMDg0OTQ3LDIuNDU1NDIyXSxbLTAuMTc3ODM3LDAuMDc2MzYyLC0xLjQ0OTAwOV0sWy0wLjU1MzM5MywwLjI3OTA4MywtMC41OTU3M10sWy0xLjc4ODYzNiwwLjA2MTYzLDIuMjMxMTk4XSxbLTAuMzQ3NjEsMC4yNTU1NzgsLTAuOTk5NjE0XSxbLTEuMzk4NTg5LDAuMDM2NDgyLDAuNjU4NzFdLFstMS4xMzM5MTgsMC4wNTYxNywwLjY5NDczXSxbLTEuNDMzNjksMC4wNTgyMjYsMS45Nzc4NjVdLFstMi41MDU0NTksMS40OTIyNjYsMS4xOTI5NV1dXG5leHBvcnRzLmNlbGxzPVtbMiwxNjYxLDNdLFsxNjc2LDcsNl0sWzcxMiwxNjk0LDldLFszLDE2NzQsMTY2Ml0sWzExLDE2NzIsMF0sWzE3MDUsMCwxXSxbNSw2LDE2NzRdLFs0LDUsMTY3NF0sWzcsOCw3MTJdLFsyLDE2NjIsMTBdLFsxLDEwLDE3MDVdLFsxMSwxNjkwLDE2NzJdLFsxNzA1LDExLDBdLFs1LDE2NzYsNl0sWzcsOSw2XSxbNyw3MTIsOV0sWzIsMywxNjYyXSxbMyw0LDE2NzRdLFsxLDIsMTBdLFsxMiw4MiwxODM3XSxbMTgwOCwxMiwxNzk5XSxbMTgwOCwxNzk5LDE3OTZdLFsxMiw4NjEsODJdLFs4NjEsMTgwOCwxM10sWzE4MDgsODYxLDEyXSxbMTc5OSwxMiwxODE2XSxbMTY4MCwxNCwxNDQ0XSxbMTUsMTcsMTZdLFsxNCwxNjc4LDE3MDBdLFsxNiwxNywxNjc5XSxbMTUsMTY2MCwxN10sWzE0LDEwODQsMTY3OF0sWzE1LDE3MDgsMThdLFsxNSwxOCwxNjYwXSxbMTY4MCwxMDg0LDE0XSxbMTY4MCwxNSwxMDg0XSxbMTUsMTY4MCwxNzA4XSxbNzkzLDgxMywxMTldLFsxMDc2LDc5MywxMTldLFsxMDc2LDE4MzYsMjJdLFsyMywxOSwyMF0sWzIxLDEwNzYsMjJdLFsyMSwyMiwyM10sWzIzLDIwLDIxXSxbMTA3NiwxMTksMTgzNl0sWzgwNiw2MzQsNDcwXSxbNDMyLDEzNDksODA2XSxbMjUxLDQyLDEyNV0sWzgwOSwxMTcxLDc5MV0sWzk1Myw2MzEsODI3XSxbNjM0LDEyMTAsMTE3Nl0sWzE1NywxODMyLDE4MzRdLFs1NiwyMTksNTNdLFsxMjYsMzgsODNdLFszNyw4NSw0M10sWzU5LDExNTEsMTE1NF0sWzgzLDc1LDQxXSxbNzcsODUsMTM4XSxbMjAxLDk0OCw0Nl0sWzEzNjIsMzYsMzddLFs0NTIsNzc1LDg4NV0sWzEyMzcsOTUsMTA0XSxbOTY2LDk2MywxMjYyXSxbODUsNzcsNDNdLFszNiw4NSwzN10sWzEwMTgsNDM5LDEwMTldLFs0MSwyMjUsNDgxXSxbODUsODMsMTI3XSxbOTMsODMsNDFdLFs5MzUsOTcyLDk2Ml0sWzExNiw5MywxMDBdLFs5OCw4Miw4MTNdLFs0MSw3NSwyMjVdLFsyOTgsNzUxLDU0XSxbMTAyMSw0MTUsMTAxOF0sWzc3LDEzOCwxMjhdLFs3NjYsODIzLDEzNDddLFs1OTMsMTIxLDU3M10sWzkwNSw4ODUsNjY3XSxbNzg2LDc0NCw3NDddLFsxMDAsNDEsMTA3XSxbNjA0LDMzNCw3NjVdLFs3NzksNDUwLDgyNV0sWzk2OCw5NjIsOTY5XSxbMjI1LDM2NSw0ODFdLFszNjUsMjgzLDE5Nl0sWzE2MSwxNjAsMzAzXSxbODc1LDM5OSwxNThdLFszMjgsMTgxNyw5NTRdLFs2Miw2MSwxMDc5XSxbMzU4LDgxLDcyXSxbNzQsMjExLDEzM10sWzE2MCwxNjEsMTM4XSxbOTEsNjIsMTA3OV0sWzE2Nyw1NiwxNDA1XSxbNTYsMTY3LDIxOV0sWzkxMyw5MTQsNDhdLFszNDQsNTcsMTAyXSxbNDMsNzcsMTI4XSxbMTA3NSw5NywxMDc5XSxbMzg5LDg4Miw4ODddLFsyMTksMTA4LDUzXSxbMTI0Miw4NTksMTIwXSxbNjA0LDg0MCw2MThdLFs3NTQsODcsNzYyXSxbMTk3LDM2LDEzNjJdLFsxNDM5LDg4LDEyMDBdLFsxNjUyLDMwNCw4OV0sWzgxLDQ0LDk0MF0sWzQ0NSw0NjMsMTUxXSxbNzE3LDUyMCw5Ml0sWzEyOSwxMTYsMTAwXSxbMTY2NiwxODExLDYyNF0sWzEwNzksOTcsOTFdLFs2Miw5MSw3MV0sWzY4OCw4OTgsNTI2XSxbNDYzLDc0LDEzM10sWzI3OCw4MjYsOTldLFs5NjEsMzcyLDQyXSxbNzk5LDk0LDEwMDddLFsxMDAsOTMsNDFdLFsxMzE0LDk0MywxMzAxXSxbMTg0LDIzMCwxMDldLFs4NzUsMTE5NSwyMzFdLFsxMzMsMTc2LDE4OV0sWzc1MSw3NTUsODI2XSxbMTAxLDEwMiw1N10sWzExOTgsNTEzLDExN10sWzc0OCw1MTgsOTddLFsxMTQ1LDE0ODQsMTMwNF0sWzM1OCw2NTgsODFdLFs5NzEsNjcyLDk5M10sWzQ0NSwxNTEsNDU2XSxbMjUyLDYyMSwxMjJdLFszNiwyNzEsMTI2XSxbODUsMzYsMTI2XSxbMTE2LDgzLDkzXSxbMTQxLDE3MSwxNzQ3XSxbMTA4MSw4ODMsMTAzXSxbMTM5OCwxNDU0LDE0OV0sWzQ1NywxMjEsNTkzXSxbMTI3LDExNiwzMDNdLFs2OTcsNzAsODkxXSxbNDU3LDg5MSwxNjUyXSxbMTA1OCwxNjY4LDExMl0sWzUxOCwxMzAsOTddLFsyMTQsMzE5LDEzMV0sWzE4NSwxNDUxLDE0NDldLFs0NjMsMTMzLDUxNl0sWzE0MjgsMTIzLDE3N10sWzExMyw4NjIsNTYxXSxbMjE1LDI0OCwxMzZdLFsxODYsNDIsMjUxXSxbMTI3LDgzLDExNl0sWzE2MCw4NSwxMjddLFsxNjIsMTI5LDE0MF0sWzE1NCwxNjksMTA4MF0sWzE2OSwxNzAsMTA4MF0sWzIxMCwxNzQsMTY2XSxbMTUyOSwxNDkyLDE1MjRdLFs0NTAsODc1LDIzMV0sWzM5OSw4NzUsNDUwXSxbMTcxLDE0MSwxNzBdLFsxMTMsMTE1NSw0NTJdLFsxMzEsMzE5LDM2MF0sWzQ0LDE3NSw5MDRdLFs0NTIsODcyLDExM10sWzc0Niw3NTQsNDA3XSxbMTQ3LDE0OSwxNTBdLFszMDksMzkwLDExNDhdLFs1MywxODYsMjgzXSxbNzU3LDE1OCw3OTddLFszMDMsMTI5LDE2Ml0sWzQyOSwzMDMsMTYyXSxbMTU0LDE2OCwxNjldLFs2NzMsMTY0LDE5M10sWzM4LDI3MSw3NV0sWzMyMCwyODgsMTAyMl0sWzI0Niw0NzYsMTczXSxbMTc1LDU0OCw5MDRdLFsxODIsNzI4LDQ1Nl0sWzE5OSwxNzAsMTY5XSxbMTY4LDE5OSwxNjldLFsxOTksMTcxLDE3MF0sWzE4NCwyMzgsMjMwXSxbMjQ2LDI0NywxODBdLFsxNDk2LDE0ODMsMTQ2N10sWzE0NywxNTAsMTQ4XSxbODI4LDQ3Miw0NDVdLFs1MywxMDgsMTg2XSxbNTYsNTMsMjcxXSxbMTg2LDk2MSw0Ml0sWzEzNDIsMzkxLDU3XSxbMTY2NCwxNTcsMTgzNF0sWzEwNzAsMjA0LDE3OF0sWzE3OCwyMDQsMTc5XSxbMjg1LDIxNSwyOTVdLFs2OTIsNTUsMzYwXSxbMTkyLDE5MywyODZdLFszNTksNjczLDIwOV0sWzU4NiwxOTUsNjUzXSxbMTIxLDg5LDU3M10sWzIwMiwxNzEsMTk5XSxbMjM4LDUxNSwzMTFdLFsxNzQsMjEwLDI0MF0sWzE3NCwxMDUsMTY2XSxbNzE3LDI3Niw1OTVdLFsxMTU1LDExNDksNDUyXSxbMTQwNSw1NiwxOTddLFs1MywyODMsMzBdLFs3NSw1MywzMF0sWzQ1LDIzNSwxNjUxXSxbMjEwLDE2Niw0OTBdLFsxODEsMTkzLDE5Ml0sWzE4NSw2MjAsMjE3XSxbMjYsNzk4LDc1OV0sWzEwNzAsMjI2LDIwNF0sWzIyMCwxODcsMTc5XSxbMjIwLDE2OCwxODddLFsyMDIsMjIyLDE3MV0sWzM1OSwyMDksMTgxXSxbMTgyLDQ1Niw3MzZdLFs5NjQsMTY3LDE0MDVdLFs3NiwyNTAsNDE0XSxbODA3LDEyODAsMTgzM10sWzcwLDg4MywxNjUyXSxbMjI3LDE3OSwyMDRdLFsyMjEsMTk5LDE2OF0sWzIyMSwyMDIsMTk5XSxbMzYwLDQ5NCwxMzFdLFsyMTQsMjQxLDMxOV0sWzEwNSwyNDcsMTY2XSxbMjA1LDIwMywyNjBdLFszODgsNDgwLDkzOV0sWzQ4Miw4NTUsMjExXSxbOCw4MDcsMTgzM10sWzIyNiwyNTUsMjA0XSxbMjI4LDIyMSwxNjhdLFsxNjYsMTczLDQ5MF0sWzcwMSwzNjksNzAyXSxbMjExLDg1NSwyNjJdLFs2MzEsOTIwLDYzMF0sWzE0NDgsMTE0NywxNTg0XSxbMjU1LDIyNywyMDRdLFsyMzcsMjIwLDE3OV0sWzIyOCwxNjgsMjIwXSxbMjIyLDI1Niw1NTVdLFsyMTUsMjU5LDI3OV0sWzEyNiwyNzEsMzhdLFsxMDgsNTAsMTg2XSxbMjI3LDIzNiwxNzldLFsyMzYsMjM3LDE3OV0sWzIyMCwyMzcsMjI4XSxbMjI4LDIwMiwyMjFdLFsyNTYsMjIyLDIwMl0sWzU1NSwyNTYsMjI5XSxbMjU5LDE1MiwyNzldLFsyNywxMjk2LDMxXSxbMTg2LDUwLDk2MV0sWzk2MSwyMzQsMzcyXSxbMTY1MSwyMzUsODEyXSxbMTU3MiwxMTQ3LDE0NDhdLFsyNTUsMjI2LDE3NzhdLFsyNTUsMjM2LDIyN10sWzI1NiwyNTcsMjI5XSxbMTA2LDE4NCwxMDldLFsyNDEsNDEwLDE4OF0sWzE3Nyw1NzgsNjIwXSxbMjA5LDY3MywxODFdLFsxMTM2LDE0NTcsNzldLFsxNTA3LDI0NSw3MThdLFsyNTUsMjczLDIzNl0sWzI3NSw0MTAsMjQxXSxbMjA2LDg1MSwyNTBdLFsxNDU5LDI1MywxNTk1XSxbMTQwNiw2NzcsMTY1MF0sWzIyOCwyNzQsMjAyXSxbMjAyLDI4MSwyNTZdLFszNDgsMjM5LDQ5Nl0sWzIwNSwxNzIsMjAzXSxbMzY5LDI0OCw3MDJdLFsyNjEsNTUwLDIxOF0sWzI2MSw0NjUsNTUwXSxbNTc0LDI0Myw1NjZdLFs5MjEsOTAwLDEyMjBdLFsyOTEsMjczLDI1NV0sWzM0OCwyMzgsMjY1XSxbMTA5LDIzMCwxOTRdLFsxNDksMzgwLDMyM10sWzQ0MywyNzAsNDIxXSxbMjcyLDI5MSwyNTVdLFsyNzQsMjI4LDIzN10sWzI3NCwyOTIsMjAyXSxbMjgxLDI1NywyNTZdLFsyNzYsNTQzLDM0MV0sWzE1MiwyNTksMjc1XSxbMTExMSw4MzEsMjQ5XSxbNjMyLDU1NiwzNjRdLFsyOTksMjczLDI5MV0sWzI5OSwyMzYsMjczXSxbMjgwLDIzNywyMzZdLFsyMDIsMjkyLDI4MV0sWzI0NywyNDYsMTczXSxbMjgyLDQ5LDY2XSxbMTYyMCwxMjMzLDE1NTNdLFsyOTksMjgwLDIzNl0sWzI4MCwzMDUsMjM3XSxbMjM3LDMwNSwyNzRdLFszMDYsMjkyLDI3NF0sWzMzMCwyNTcsMjgxXSxbMjQ2LDE5NCwyNjRdLFsxNjYsMjQ3LDE3M10sWzkxMiw4OTQsODk2XSxbNjExLDMyMCwyNDRdLFsxMTU0LDEwMjAsOTA3XSxbOTY5LDk2MiwyOTBdLFsyNzIsMjk5LDI5MV0sWzMwNSwzMTgsMjc0XSxbMTQ1LDIxMiwyNDBdLFsxNjQsMjQ4LDI4NV0sWzI1OSwyNzcsMjc1XSxbMTkzLDE2NCwyOTVdLFsyNjksMjQwLDIxMF0sWzEwMzMsMjg4LDMyMF0sWzQ2LDk0OCwyMDZdLFszMzYsMjgwLDI5OV0sWzMzMCwyODEsMjkyXSxbMjU3LDMwNywzMDBdLFszNjksMTM2LDI0OF0sWzE0NSwyNDAsMjY5XSxbNTAyLDg0LDQ2NV0sWzE5MywyOTUsMjg2XSxbMTY0LDI4NSwyOTVdLFsyODIsMzAyLDQ5XSxbMTYxLDMwMyw0MjldLFszMTgsMzA2LDI3NF0sWzMwNiwzMzAsMjkyXSxbMzE1LDI1NywzMzBdLFszMTUsMzA3LDI1N10sWzMwNywzNTIsMzAwXSxbMzAwLDM1MiwzMDhdLFsyNzUsMjc3LDQwM10sWzM1MywxMTQxLDMzM10sWzE0MjAsNDI1LDQ3XSxbNjExLDMxMywzMjBdLFs4NSwxMjYsODNdLFsxMjgsMTE4MCw0M10sWzMwMywxMTYsMTI5XSxbMjgwLDMxNCwzMDVdLFszMTQsMzE4LDMwNV0sWzE5MCwxODEsMjQyXSxbMjAzLDIxNCwxMzFdLFs4MjAsNzk1LDgxNV0sWzMyMiwyOTksMjcyXSxbMzIyLDMzNiwyOTldLFszMTUsMzM5LDMwN10sWzE3MiwxNTIsNjE3XSxbMTcyLDIxNCwyMDNdLFszMjEsMTAzMywzMjBdLFsxNDAxLDk0MSw5NDZdLFs4NSwxNjAsMTM4XSxbOTc2LDQ1NCw5NTFdLFs3NDcsNjAsNzg2XSxbMzE3LDMyMiwyNzJdLFszMzksMzUyLDMwN10sWzI2NiwzMyw4NjddLFsxNjMsMjI0LDIxOF0sWzI0Nyw2MTQsMTgwXSxbNjQ4LDYzOSw1NTNdLFszODgsMTcyLDIwNV0sWzYxMSwzNDUsMzEzXSxbMzEzLDM0NSwzMjBdLFsxNjAsMTI3LDMwM10sWzQ1NCw2NzIsOTUxXSxbMzE3LDMyOSwzMjJdLFszMTQsMjgwLDMzNl0sWzMwNiwzMzgsMzMwXSxbMzMwLDMzOSwzMTVdLFsxMjM2LDExNSw0MzZdLFszNDIsMzIxLDMyMF0sWzEwNDYsMzU1LDMyOF0sWzMyOCwzNDYsMzI1XSxbMzI1LDM0NiwzMTddLFszNjcsMzE0LDMzNl0sWzMxNCwzMzcsMzE4XSxbMzM3LDMwNiwzMThdLFszMzgsMzQzLDMzMF0sWzM0MiwzMjAsMzQ1XSxbMzU1LDM0OSwzMjhdLFszNDYsMzI5LDMxN10sWzM0NywzMzYsMzIyXSxbMzE0LDM2MiwzMzddLFszMzAsMzQzLDMzOV0sWzM0MCwzMDgsMzUyXSxbMTM1LDkwNiwxMDIyXSxbMjM5LDE1Niw0OTFdLFsxOTQsMjMwLDQ4Nl0sWzQwLDEwMTUsMTAwM10sWzMyMSwzNTUsMTA0Nl0sWzMyOSwzODIsMzIyXSxbMzgyLDM0NywzMjJdLFszNDcsMzY3LDMzNl0sWzMzNywzNzEsMzA2XSxbMzA2LDM3MSwzMzhdLFsxNjgxLDI5NiwxNDkzXSxbMjg2LDE3MiwzODhdLFsyMzAsMzQ4LDQ4Nl0sWzM0OCwxODMsNDg2XSxbMzg0LDMzMiw4MzBdLFszMjgsMzQ5LDM0Nl0sWzM2NywzNjIsMzE0XSxbMzcxLDM0MywzMzhdLFszMzksMzUxLDM1Ml0sWzU3LDM0NCw3OF0sWzM0MiwzNTUsMzIxXSxbMzg2LDM0NiwzNDldLFszODYsMzUwLDM0Nl0sWzM0NiwzNTAsMzI5XSxbMzQ3LDM2NiwzNjddLFszNDMsMzYzLDMzOV0sWzMyMywzODAsMzI0XSxbMTUyLDI3NSwyNDFdLFszNDUsMTA0NSwzNDJdLFszNTAsMzc0LDMyOV0sWzMzOSwzNjMsMzUxXSxbMjM0LDM0MCwzNTJdLFszNTMsMzYxLDM1NF0sWzQwLDM0LDEwMTVdLFszNzMsMzU1LDM0Ml0sWzM3MywzNDksMzU1XSxbMzc0LDM4MiwzMjldLFszNjYsMzQ3LDM4Ml0sWzM3MSwzNjMsMzQzXSxbMzUxLDM3OSwzNTJdLFszNzksMzcyLDM1Ml0sWzM3MiwyMzQsMzUyXSxbMTU2LDE5MCw0OTFdLFszMTksMjQxLDY5Ml0sWzM1NCwzNjEsMzFdLFszNjYsMzc3LDM2N10sWzM2MywzNzksMzUxXSxbMTMzLDU5MCw1MTZdLFsxOTcsNTYsMjcxXSxbMTA0NSwzNzAsMzQyXSxbMzcwLDM3MywzNDJdLFszNzQsMzUwLDM4Nl0sWzM3NywzNjYsMzgyXSxbMzY3LDM5NSwzNjJdLFs0MDAsMzM3LDM2Ml0sWzQwMCwzNzEsMzM3XSxbMzc4LDM2MywzNzFdLFsxMDYsMTA5LDYxNF0sWzE4MSw2NzMsMTkzXSxbOTUzLDkyMCw2MzFdLFszNzYsMzQ5LDM3M10sWzM3NiwzODYsMzQ5XSxbMzc4LDM3OSwzNjNdLFsyMjQsMzc1LDIxOF0sWzI3OSwxNTIsMTcyXSxbMzYxLDYxOSwzODFdLFsxMzQ3LDgyMyw3OTVdLFs3NjAsODU3LDM4NF0sWzM5MiwzNzQsMzg2XSxbMzk0LDM5NSwzNjddLFszODMsMzcxLDQwMF0sWzM4MywzNzgsMzcxXSxbMjE4LDM3NSwyNjFdLFsxOTcsMjcxLDM2XSxbNDE0LDQ1NCw5NzZdLFszODUsMzc2LDM3M10sWzEwNTEsMzgyLDM3NF0sWzM4NywzOTQsMzY3XSxbMzc3LDM4NywzNjddLFszOTUsNDAwLDM2Ml0sWzI3OSwxNzIsMjk1XSxbMzAsMzY1LDIyNV0sWzQ1MCwyMzEsODI1XSxbMzg1LDM3MywzNzBdLFszOTgsMzc0LDM5Ml0sWzEwNTEsMzc3LDM4Ml0sWzM5NiwzNzgsMzgzXSxbMzQ4LDQ5NiwxODNdLFsyOTUsMTcyLDI4Nl0sWzM1NywyNjksNDk1XSxbMTE0OCwzOTAsMTQxMV0sWzc1LDMwLDIyNV0sWzIwNiw3Niw1NF0sWzQxMiwzODYsMzc2XSxbNDEyLDM5MiwzODZdLFszOTYsMzgzLDQwMF0sWzY1MSwxMTQsODc4XSxbMTIzLDEyNDEsNTA2XSxbMjM4LDMxMSwyNjVdLFszODEsNjUzLDI5XSxbNjE4LDgxNSwzMzRdLFs0MjcsMTAzMiw0MTFdLFsyOTgsNDE0LDk3Nl0sWzc5MSwzMzIsMzg0XSxbMTI5LDEwMCwxNDBdLFs0MTIsNDA0LDM5Ml0sWzM5Miw0MDQsMzk4XSxbMTQwLDEwNywzNjBdLFszOTUsMzk0LDQwMF0sWzQyMywzNzksMzc4XSxbMzg1LDQxMiwzNzZdLFs0MDYsOTQsNThdLFs0MTksNDE1LDEwMjFdLFs0MjIsNDIzLDM3OF0sWzQyMywxMjUsMzc5XSxbMjU4LDUwOCwyMzhdLFszMTEsMTU2LDI2NV0sWzIxMywyODcsNDkxXSxbNDQ5LDQxMSwxMDI0XSxbNDEyLDEwNjgsNDA0XSxbNTUsMTQwLDM2MF0sWzc2LDQxNCw1NF0sWzM5NCw0MTYsNDAwXSxbNDAwLDQxNiwzOTZdLFs0MjIsMzc4LDM5Nl0sWzEyNTgsNzk2LDc4OV0sWzQyNyw0MTEsNDQ5XSxbNDI3LDI5NywxMDMyXSxbMTM4NSwxMzY2LDQ4M10sWzQxNyw0NDgsMjg0XSxbMTUwNywzNDEsMjQ1XSxbMTYyLDE0MCw0NDRdLFs2NTgsNDQsODFdLFs0MzMsMTI1LDQyM10sWzQzOCwyNTEsMTI1XSxbNDI5LDE2Miw0MzldLFsxMzQyLDU3LDEzNDhdLFs3NjUsNzY2LDQ0Ml0sWzY5Nyw4OTEsNjk1XSxbMTA1NywzOTYsNDE2XSxbNDQwLDQyMyw0MjJdLFs0NDAsNDMzLDQyM10sWzQzMyw0MzgsMTI1XSxbNDM4LDE5NiwyNTFdLFs3NCw0ODIsMjExXSxbMTEzNiw3OSwxNDRdLFsyOSwxOTUsNDI0XSxbMjQyLDEwMDQsNDkyXSxbNTcsNzU3LDI4XSxbNDE0LDI5OCw1NF0sWzIzOCwzNDgsMjMwXSxbMjI0LDE2MywxMjRdLFsyOTUsMjE1LDI3OV0sWzQ5NSwyNjksNDkwXSxbNDQ5LDQ0Niw0MjddLFs0NDYsMjk3LDQyN10sWzEwMjAsMTE2Myw5MDldLFsxMjgsMTM4LDQxOV0sWzY2LDk4MCw0NDNdLFs0MTUsNDM5LDEwMThdLFsxMTEsMzk2LDEwNTddLFsxMTEsNDIyLDM5Nl0sWzg0MCwyNDksODMxXSxbNTkzLDY2NCw1OTZdLFsyMTgsNTUwLDE1NV0sWzEwOSwxOTQsMTgwXSxbNDgzLDI2OCw4NTVdLFsxNjEsNDE1LDQxOV0sWzE3MzcsMjMyLDQyOF0sWzM2MCwxMDcsNDk0XSxbMTAwNiwxMDExLDQxMF0sWzQ0NCwxNDAsNTVdLFs5MTksODQzLDQzMF0sWzE5MCwyNDIsMjEzXSxbMjc1LDQwMyw0MTBdLFsxMzEsNDk0LDQ4OF0sWzQ0OSw2NjMsNDQ2XSxbMTM4LDE2MSw0MTldLFsxMjgsNDE5LDM0XSxbNDM5LDE2Miw0NDRdLFs0NjAsNDQwLDQyMl0sWzQ0MCw0MzgsNDMzXSxbNDcyLDc0LDQ0NV0sWzQ5MSwxOTAsMjEzXSxbMjM4LDUwOCw1MTVdLFs0NiwyMDYsNTRdLFs5NzIsOTQ0LDk2Ml0sWzEyNDEsMTQyOCwxMjg0XSxbMTExLDQ2MCw0MjJdLFs0NzAsNDMyLDgwNl0sWzI0OCwxNjQsNzAyXSxbMTAyNSw0NjcsNDUzXSxbNTUzLDEyMzUsNjQ4XSxbMjYzLDExNCw4ODFdLFsyNjcsMjkzLDg5Nl0sWzQ2OSw0MzgsNDQwXSxbNDU1LDE5Niw0MzhdLFsyODcsMjQyLDQ5Ml0sWzIzOSwyNjUsMTU2XSxbMjEzLDI0MiwyODddLFsxNjg0LDc0Niw2M10sWzY2Myw0NzQsNDQ2XSxbNDE1LDE2MSw0MjldLFsxNDAsMTAwLDEwN10sWzEwNTUsNDU5LDQ2N10sWzQ2OSw0NTUsNDM4XSxbMjU5LDU0MiwyNzddLFs0NDYsNDc0LDQ2Nl0sWzQ0Niw0NjYsNDQ3XSxbNDM5LDQ0NCwxMDE5XSxbNjE0LDEwOSwxODBdLFsxOTAsMzU5LDE4MV0sWzE1Niw0OTcsMTkwXSxbNzI2LDQ3NCw2NjNdLFsxMDIzLDQ1OCw0NTldLFs0NjEsNDQwLDQ2MF0sWzI2OSwyMTAsNDkwXSxbMjQ2LDE4MCwxOTRdLFs1OTAsMTMzLDE4OV0sWzE2MywyMTgsMTU1XSxbNDY3LDQ2OCw0NTNdLFsxMDYzLDEwMjksMTExXSxbMTExLDEwMjksNDYwXSxbMTAyOSw0NjQsNDYwXSxbNDYxLDQ2OSw0NDBdLFsxNTAsMTQ5LDMyM10sWzgyOCw0NDUsNDU2XSxbMzc1LDUwMiwyNjFdLFs0NzQsNDc1LDQ2Nl0sWzU3Myw0MjYsNDYyXSxbNDc4LDEwMjMsNDc3XSxbNDc4LDQ1OCwxMDIzXSxbNDU4LDQ3OSw0NjddLFs0NTksNDU4LDQ2N10sWzQ2OCwzOTMsNDUzXSxbNDY0LDQ2MSw0NjBdLFs0ODQsMzY1LDQ1NV0sWzEyMzIsMTgyLDEzODBdLFsxNzIsNjE3LDIxNF0sWzU0Nyw2OTQsMjc3XSxbNTQyLDU0NywyNzddLFsxODQsMjU4LDIzOF0sWzI2MSw1MDIsNDY1XSxbNDY3LDQ3OSw0NjhdLFs0ODQsNDU1LDQ2OV0sWzEzODAsMTgyLDg2NF0sWzQ3NSw0NzYsNDY2XSxbODAsNDQ3LDQ3Nl0sWzQ2Niw0NzYsNDQ3XSxbNDE1LDQyOSw0MzldLFs0NzksNDg3LDQ2OF0sWzQ4NywyODcsNDY4XSxbNDkyLDM5Myw0NjhdLFsyNjAsNDY5LDQ2MV0sWzQ4MSwzNjUsNDg0XSxbNTMxLDQ3Myw5MzFdLFs2OTIsMzYwLDMxOV0sWzcyNiw0OTUsNDc0XSxbNDY4LDI4Nyw0OTJdLFs0ODAsNDY0LDEwMjldLFsyNjAsNDYxLDQ2NF0sWzQ5NCw0ODEsNDg0XSxbNzQsNDcyLDQ4Ml0sWzE3NCwyNDAsMjEyXSxbMjIzLDEwNiw2MTRdLFs0ODYsNDc3LDQ4NV0sWzQ3OCw0OTYsNDU4XSxbNDkxLDQ4Nyw0NzldLFsxMjMsNDAyLDE3N10sWzQ4OCw0NjksMjYwXSxbNDg4LDQ4NCw0NjldLFsyNjUsMjM5LDM0OF0sWzI0OCwyMTUsMjg1XSxbNDc0LDQ5MCw0NzVdLFs0NzcsNDg2LDQ3OF0sWzQ1OCw0OTYsNDc5XSxbMjM5LDQ5MSw0NzldLFsxNTg0LDExNDcsMTMzNF0sWzQ4OCw0OTQsNDg0XSxbNDAxLDEyMyw1MDZdLFs0OTUsNDkwLDQ3NF0sWzQ5MCwxNzMsNDc1XSxbODAsNDc2LDI2NF0sWzQ5MSwyODcsNDg3XSxbNDgwLDEwMjksMTAwNF0sWzQ4MCwyMDUsNDY0XSxbMTczLDQ3Niw0NzVdLFs0ODUsMTk0LDQ4Nl0sWzQ4NiwxODMsNDc4XSxbNDc4LDE4Myw0OTZdLFs0OTYsMjM5LDQ3OV0sWzg0OCwxMTY2LDYwXSxbMjY4LDI2Miw4NTVdLFsyMDUsMjYwLDQ2NF0sWzI2MCwyMDMsNDg4XSxbMjAzLDEzMSw0ODhdLFsyNDYsMjY0LDQ3Nl0sWzE5NCw0ODUsMjY0XSxbMTAwMiwzMTAsMTY2NF0sWzMxMSw1MTUsNDk3XSxbNTE1LDM1OSw0OTddLFs1NjUsMzU5LDUxNV0sWzEyNTAsMTIzNiwzMDFdLFs3MzYsNDU2LDE1MV0sWzY1NCwxNzQsNTY3XSxbNTc3LDUzNCw2NDhdLFs1MTksNTA1LDY0NV0sWzcyNSw1NjUsNTA4XSxbMTUwLDE3MjMsMTQ4XSxbNTg0LDUwMiw1MDVdLFs1ODQsNTI2LDUwMl0sWzUwMiw1MjYsODRdLFs2MDcsMTkxLDY4Ml0sWzU2MCw0OTksNjYwXSxbNjA3LDUxNywxOTFdLFsxMDM4LDcxMSwxMjRdLFs5NTEsNjcyLDk3MV0sWzcxNiw1MDcsMzU2XSxbODY4LDUxMywxMTk4XSxbNjE1LDc5NCw2MDhdLFs2ODIsMTkxLDE3NF0sWzEzMTMsOTI4LDEyMTFdLFs2MTcsMjQxLDIxNF0sWzUxMSw3MSw5MV0sWzQwOCw4MDAsNzkyXSxbMTkyLDI4Niw1MjVdLFs4MCw0ODUsNDQ3XSxbOTEsOTcsMTMwXSxbMTY3NSwzMjQsODg4XSxbMjA3LDc1Niw1MzJdLFs1ODIsMTA5NywxMTI0XSxbMzExLDQ5NywxNTZdLFs1MTAsMTMwLDE0Nl0sWzUyMyw1MTEsNTEwXSxbNjA4LDcwOCw2MTZdLFs1NDYsNjkwLDY1MF0sWzUxMSw1MjcsMzU4XSxbNTM2LDE0Niw1MThdLFs0NjUsNDE4LDU1MF0sWzQxOCw3MDksNzM1XSxbNTIwLDUxNCw1MDBdLFs1ODQsNTA1LDUxOV0sWzUzNiw1MTgsNTA5XSxbMTQ2LDUzNiw1MTBdLFs1MzgsNTI3LDUxMV0sWzg3NiwyNjMsNjY5XSxbNjQ2LDUyNCw2MDVdLFs1MTAsNTM2LDUyM10sWzUyNywxNzUsMzU4XSxbNzI0LDg3Niw2NjldLFs3MjEsNzI0LDY3NF0sWzUyNCw2ODMsODM0XSxbNTU4LDUwOSw1MjJdLFs1NTgsNTM2LDUwOV0sWzUyMyw1MzgsNTExXSxbNjExLDI0Myw1NzRdLFs1MjgsNzA2LDU1Nl0sWzY2OCw1NDEsNDk4XSxbNTIzLDUzNyw1MzhdLFs1MjcsNTQwLDE3NV0sWzUzMiw3NTYsNTMzXSxbMTAxMyw2MCw3NDddLFs1NTEsNjk4LDY5OV0sWzkyLDUyMCw1MDBdLFs1MzUsNTM2LDU1OF0sWzUzNiw1NjksNTIzXSxbNTM4LDU0MCw1MjddLFs1MzksNTQ4LDE3NV0sWzU2NywyMTIsMTQ1XSxbNDAxLDg5NiwyOTNdLFs1MzQsNjc1LDYzOV0sWzE1MTAsNTk1LDE1MDddLFs1NTcsNTQ1LDUzMF0sWzU2OSw1MzYsNTM1XSxbNTM3LDU0MCw1MzhdLFs1NDAsNTM5LDE3NV0sWzU2OSw1MzcsNTIzXSxbMTEzNSw3MTgsNDddLFs1ODcsNjgxLDYyNl0sWzU4MCw1MzUsNTU4XSxbOTksNzQ3LDI3OF0sWzcwMSw1NjUsNzI1XSxbNjY1LDEzMiw1MTRdLFs2NjUsNTE0LDU3NV0sWzEzMiw1NDksNjUzXSxbMTc2LDY1MSwxODldLFs2NSw0NywyNjZdLFs1OTcsNTY5LDUzNV0sWzU2OSw1ODEsNTM3XSxbNTM3LDU4MSw1NDBdLFs1NjMsNTM5LDU0MF0sWzUzOSw1NjQsNTQ4XSxbMTUwOSwxMjMzLDE0MzRdLFsxMzIsNjUzLDc0MF0sWzU1MCw3MTAsMTU1XSxbNzE0LDcyMSw2NDRdLFs0MTAsMTAxMSwxODhdLFs3MzIsNTM0LDU4Nl0sWzU2MCw1NjIsNzI5XSxbNTU1LDU1NywyMjJdLFs1ODAsNTU4LDU0NV0sWzU5Nyw1MzUsNTgwXSxbNTgxLDU2Myw1NDBdLFs1LDgyMSwxNjc2XSxbNTc2LDIxNSwxMzZdLFs2NDksNDU3LDc0MV0sWzU2NCw1MzksNTYzXSxbMTI0LDcxMSwyMjRdLFs1NTAsNjY4LDcxMF0sWzU1MCw1NDEsNjY4XSxbNTY1LDcwMSw2NzNdLFs1NjAsNjEzLDQ5OV0sWzIzMyw1MzIsNjI1XSxbNTQ1LDU1NSw1ODBdLFs2MDEsNTgxLDU2OV0sWzU5NCw5MDQsNTQ4XSxbMTQ2MywxNDI1LDQzNF0sWzE4NSwxNDksMTQ1NF0sWzcyMSw2NzQsNjQ0XSxbMTg1LDM4MCwxNDldLFs1NzcsNDI0LDU4Nl0sWzQ2Miw1ODYsNTU5XSxbNTk3LDYwMSw1NjldLFs1OTQsNTQ4LDU2NF0sWzU2Niw2MDMsNTc0XSxbMTY1LDU0Myw1NDRdLFs0NTcsODksMTIxXSxbNTg2LDQyNCwxOTVdLFs3MjUsNTg3LDYwNl0sWzEwNzgsNTgyLDExMjRdLFs1ODgsOTI1LDg2Nl0sWzQ2Miw1NTksNTkzXSxbMTg5LDg3OCw1OTBdLFs1NTUsMjI5LDU4MF0sWzYwMiw1NjMsNTgxXSxbOTA0LDU5NCw5NTZdLFs0MzQsMTQyNSwxNDM4XSxbMTAyNCwxMTIsODIxXSxbNTcyLDU4Nyw2MjZdLFs2MDAsNTk3LDU4MF0sWzU5OSw1OTEsNjU2XSxbNjAwLDU4MCwyMjldLFs2MDEsNjIyLDU4MV0sWzU4MSw2MjIsNjAyXSxbNjAyLDU2NCw1NjNdLFs2MDIsNTk0LDU2NF0sWzYwMyw2MTEsNTc0XSxbNDk4LDUyOSw1NDZdLFs2OTcsMTE0NSw3MF0sWzU5Miw2MjgsNjI2XSxbNjEwLDU5Nyw2MDBdLFs1OTcsNjEwLDYwMV0sWzIyMiw1NTcsMTcxXSxbNjA0LDc2NSw3OTldLFs1NzMsNDYyLDU5M10sWzEzMywyMDAsMTc2XSxbNzI5LDYwNyw2MjddLFsxMDExLDY5MiwxODhdLFs1MTgsMTQ2LDEzMF0sWzU4NSw2ODcsNjA5XSxbNjgyLDYyNyw2MDddLFsxNzEyLDU5OSw2NTZdLFs1NjIsNTkyLDYwN10sWzY0Myw2NTYsNjU0XSxbMjU3LDYwMCwyMjldLFs2MDEsNjMzLDYyMl0sWzYyMyw1OTQsNjAyXSxbMTc0LDIxMiw1NjddLFs3MjUsNjA2LDcwMV0sWzYwOSw3MDEsNjA2XSxbNjEwLDYzMyw2MDFdLFs2MzMsNjQyLDYyMl0sWzM4MCwyMTYsMzI0XSxbMTQyLDE0MywxMjQ5XSxbNTAxLDczMiw1ODZdLFs1MzQsNTc3LDU4Nl0sWzY0OCwxMjM1LDU3N10sWzYxMCw2NDEsNjMzXSxbMzEwLDEwMDIsMTgzMV0sWzYxOCwzMzQsNjA0XSxbMTcxMCwxNDUsMjY5XSxbNzA3LDQ5OCw2NTldLFs1MDEsNTg2LDQ2Ml0sWzYyNSw1MDEsNDYyXSxbNzI2LDY2Myw2OTFdLFszMDAsNjAwLDI1N10sWzY0MSw2MTAsNjAwXSxbNjIyLDYyOSw2MDJdLFs2MDIsNjI5LDYyM10sWzU1LDY5Miw0NDRdLFs1MTgsNzQ4LDUwOV0sWzkyOSwxNTE1LDE0MTFdLFs2MjAsNTc4LDI2N10sWzcxLDUxMSwzNThdLFs3MDcsNjY4LDQ5OF0sWzY1MCw2ODcsNTg1XSxbNjAwLDMwMCw2NDFdLFs2NDEsNjU3LDYzM10sWzE2NzUsODg4LDE2NjldLFs2MjIsNjM2LDYyOV0sWzUwNSw1MDIsMzc1XSxbNTQxLDUyOSw0OThdLFszMzIsNDIwLDEwNTNdLFs2MzcsNTUxLDYzOF0sWzUzNCw2MzksNjQ4XSxbNjksNjIzLDg3M10sWzMwMCw1MTIsNjQxXSxbNjMzLDY1Nyw2NDJdLFs1NjIsNjYwLDU3OV0sWzY4Nyw2MzcsNjM4XSxbNzA5LDY0Niw2MDVdLFs3NzUsNzM4LDg4NV0sWzU1OSw1NDksMTMyXSxbNjQ2LDY4Myw1MjRdLFs2NDEsNTEyLDY1N10sWzI2Niw4OTcsOTQ5XSxbMTcxMiw2NDMsMTY1N10sWzE4NCw3MjcsMjU4XSxbNjc0LDcyNCw2NjldLFs2OTksNzE0LDY0N10sWzYyOCw2NTksNTcyXSxbNjU3LDY2Miw2NDJdLFs1NzEsODgxLDY1MV0sWzUxNyw2MDcsNTA0XSxbNTk4LDcwNiw1MjhdLFs1OTgsNjk0LDU0N10sWzY0MCw1NTIsNTYwXSxbNjU1LDY5Myw2OThdLFs2OTgsNjkzLDcyMV0sWzkxLDUxMCw1MTFdLFsxNDQsMzAxLDExMzZdLFszMjQsMjE2LDg4OF0sWzg3MCw3NjQsMTY4MV0sWzU3NSw1MTQsNTIwXSxbMjc2LDU0NCw1NDNdLFs2NTgsMTc1LDQ0XSxbNjQ1LDUwNSw3MTFdLFs2NTksNTQ2LDU3Ml0sWzcwMCw1MjQsNjU1XSxbNjA1LDcwMCw1MjldLFsyNjYsODY3LDg5N10sWzE2OTUsMTUyNiw3NjRdLFs1NzksNjU5LDYyOF0sWzY1NCw1OTEsNjgyXSxbNTg2LDU0OSw1NTldLFs2OTgsNzIxLDcxNF0sWzg5Niw0MDEsNTA2XSxbNjQwLDczNCw1OTldLFs2NjQsNjY1LDU3NV0sWzYyMSw2MjksNjM2XSxbMTcxMiw2NTYsNjQzXSxbNTQ3LDY0NCw1OThdLFs3MTAsNjY4LDcwN10sWzY0MCw1NjAsNzM0XSxbNjU1LDY5OCw1NTFdLFs2OTQsNTI4LDI3N10sWzUxMiw2NjIsNjU3XSxbNTA0LDU5Miw2MjZdLFs2ODgsNTg0LDUxOV0sWzE1MiwyNDEsNjE3XSxbNTg3LDcyNSw2ODFdLFs1OTgsNjY5LDcwNl0sWzUyNiw2NzAsODRdLFs1OTgsNTI4LDY5NF0sWzcxMCw3MDcsNDk5XSxbNTc5LDU5Miw1NjJdLFs2NjAsNjU5LDU3OV0sWzMyMywzMjQsMTEzNF0sWzMyNiw4OTUsNDczXSxbMTk1LDI5LDY1M10sWzg0LDY3MCw5MTVdLFs1NjAsNjYwLDU2Ml0sWzUwNCw2MjYsNjgxXSxbNzExLDUwNSwyMjRdLFs2NTEsODgxLDExNF0sWzIxNiw2MjAsODg5XSxbMTM2Miw2NzgsMTk3XSxbNDkzLDk5LDQ4XSxbMTY1OSw2OTEsNjgwXSxbNTI5LDY5MCw1NDZdLFs0MzAsODQzLDcwOV0sWzY1NSw1MjQsNjkzXSxbMTc0LDE5MSwxMDVdLFs2NzQsNjY5LDU5OF0sWzk4LDcxMiw4Ml0sWzU3Miw1NDYsNTg1XSxbNzIsNjEsNzFdLFs5MTIsOTExLDg5NF0sWzEwNiwyMjMsMTg0XSxbNjY0LDEzMiw2NjVdLFs4NDMsNjQ2LDcwOV0sWzYzNSw2OTksMTM2XSxbNjk5LDY5OCw3MTRdLFs1OTMsMTMyLDY2NF0sWzY4OCw1MjYsNTg0XSxbMTg1LDE3Nyw2MjBdLFs1MzMsNjc1LDUzNF0sWzY4Nyw2MzgsNjM1XSxbMTY1Miw4OSw0NTddLFs4OTYsNTA2LDkxMl0sWzEzMiw3NDAsNTE0XSxbNjg5LDY4NSwyODJdLFs2OTEsNDQ5LDY4MF0sWzQ4LDQzNiw0OTNdLFsxMzYsNjk5LDY0N10sWzczOSw2NDAsNTU0XSxbNTQ5LDU4Niw2NTNdLFs1MzIsNTMzLDYyNV0sWzE1MzAsNjk1LDY0OV0sWzY1MywzODEsNjE5XSxbNzM2LDE1MSw1MzFdLFsxODgsNjkyLDI0MV0sWzE3Nyw0MDIsNTc4XSxbMzMsNjg5LDg2N10sWzY4OSwzMyw2ODVdLFs1OTMsNTU5LDEzMl0sWzk0OSw2NSwyNjZdLFs3MTEsMTAzOCw2NjFdLFs5MzksNDgwLDEwMDRdLFs2MDksMzY5LDcwMV0sWzYxNiw1NTIsNjE1XSxbNjE5LDM2MSw3NDBdLFsxNTEsNDYzLDUxNl0sWzUxMyw1MjEsMTE3XSxbNjkxLDY2Myw0NDldLFsxODYsMjUxLDE5Nl0sWzMzMywzMDIsMzI3XSxbNjEzLDU2MCw1NTJdLFs2MTYsNjEzLDU1Ml0sWzY5MCw1NTEsNjM3XSxbNjYwLDcwNyw2NTldLFs3MDQsMjA4LDEyMDNdLFs0MTgsNzM1LDU1MF0sWzE2Myw3MDgsMTI0XSxbNTI0LDgzNCw2OTNdLFs1NTQsNjQwLDU5OV0sWzI0NSwzNDEsMTY1XSxbNTY1LDY3MywzNTldLFsxNTUsNzEwLDcwOF0sWzEwNSwxOTEsNTE3XSxbMTUxNSwxOTgsMTQxMV0sWzE3MDksNTU0LDU5OV0sWzYwLDI4OSw3ODZdLFs4MzgsMTI5NSwxMzk5XSxbNTMzLDUzNCw2MjVdLFs3MTAsNDk5LDcwOF0sWzU1Niw2MzIsNDEwXSxbMjE3LDYyMCwyMTZdLFs1OTEsNjI3LDY4Ml0sWzUwNCw1MDMsMjIzXSxbNjQzLDY1NCw1NjddLFs2OTAsNjM3LDY1MF0sWzU0NSw1NTcsNTU1XSxbMTc0LDY1NCw2ODJdLFs3MTksNjkxLDE2NTldLFs3MjcsNjgxLDUwOF0sWzY0NSw3MTEsNjYxXSxbNzk0LDYxNSw3MzldLFs1NjUsNTE1LDUwOF0sWzI4Miw2ODUsMzAyXSxbMTE1MCwzOTcsMTE0OV0sWzYzOCw2OTksNjM1XSxbNTQ0LDY4NSwzM10sWzcxOSw3MjYsNjkxXSxbMTc0MiwxMTI2LDE3MzNdLFsxNzI0LDE0NzUsMTQ4XSxbNTU2LDQxMCw0MDNdLFsxODUsMjE3LDM4MF0sWzUwMyw1MDQsNjgxXSxbMjc3LDU1Niw0MDNdLFszMiwxMTc4LDE1OF0sWzE3MTIsMTcwOSw1OTldLFs2MDUsNTI5LDU0MV0sWzYzNSwxMzYsMzY5XSxbNjg3LDYzNSwzNjldLFs1MjksNzAwLDY5MF0sWzcwMCw1NTEsNjkwXSxbODksMzA0LDU3M10sWzYyNSw1MzQsNzMyXSxbNzMwLDMwMiw2ODVdLFs1MDMsNjgxLDcyN10sWzcwMiw2NzMsNzAxXSxbNzMwLDMyNywzMDJdLFszMjcsMzUzLDMzM10sWzU5Niw2NjQsNTc1XSxbNjYwLDQ5OSw3MDddLFs1ODUsNTQ2LDY1MF0sWzU2MCw3MjksNzM0XSxbNzAwLDY1NSw1NTFdLFsxNzYsNTcxLDY1MV0sWzUxNyw1MDQsMjIzXSxbNzMwLDY4NSw1NDRdLFsxNjYxLDE2ODIsNzI2XSxbMTY4Miw0OTUsNzI2XSxbMTI1MCwzMDEsOTE3XSxbNjA1LDUyNCw3MDBdLFs2MDksNjg3LDM2OV0sWzUxNiwzODksODk1XSxbMTU1Myw2ODYsMTAyN10sWzY3Myw3MDIsMTY0XSxbNjU2LDU5MSw2NTRdLFs1MjAsNTk2LDU3NV0sWzQwMiwxMjMsNDAxXSxbODI4LDQ1Niw3MjhdLFsxNjQ1LDY3NywxNjUzXSxbNTI4LDU1NiwyNzddLFs2MzgsNTUxLDY5OV0sWzE5MCw0OTcsMzU5XSxbMjc2LDczMCw1NDRdLFsxMTE3LDE1MjUsOTMzXSxbMTAyNyw2ODYsMTMwNl0sWzE1NSw3MDgsMTYzXSxbNzA5LDYwNSw1NDFdLFs2NDcsNjQ0LDU0N10sWzY1MCw2MzcsNjg3XSxbNTk5LDczNCw1OTFdLFs1NzgsMjkzLDI2N10sWzE2ODIsMzU3LDQ5NV0sWzUxMCw5MSwxMzBdLFs3MzQsNzI5LDYyN10sWzU3Niw1NDIsMjE1XSxbNzA5LDU0MSw3MzVdLFs3MzUsNTQxLDU1MF0sWzI3Niw1MDAsNzMwXSxbNTAwLDMyNyw3MzBdLFs2NTMsNjE5LDc0MF0sWzQxNCw4NTEsNDU0XSxbNzM0LDYyNyw1OTFdLFs3MjksNTYyLDYwN10sWzYxNSw1NTIsNjQwXSxbNTI1LDE4MSwxOTJdLFszMDgsNTEyLDMwMF0sWzIyMyw1MDMsNzI3XSxbMjY2LDE2NSwzM10sWzkyLDUwMCwyNzZdLFszMjEsMTA0NiwxMDMzXSxbNTg1LDYwOSw2MDZdLFsxMjAwLDE1NTksODZdLFs2MjgsNTcyLDYyNl0sWzMwMSw0MzYsODAzXSxbNzE0LDY0NCw2NDddLFs3MDgsNDk5LDYxM10sWzcyMSw2OTMsNzI0XSxbNTE0LDM1MywzMjddLFszNTMsNzQwLDM2MV0sWzM0NCwxNTgsNzhdLFs3MDgsNjEzLDYxNl0sWzYxNSw2NDAsNzM5XSxbNTAwLDUxNCwzMjddLFs1MTQsNzQwLDM1M10sWzE0NDksMTc3LDE4NV0sWzQ2MiwyMzMsNjI1XSxbODUxLDQwNSwxMTYzXSxbNjA4LDYxNiw2MTVdLFs2NDcsNTQyLDU3Nl0sWzYyNSw3MzIsNTAxXSxbMTA5Nyw1ODIsMTMxMV0sWzEyMzUsNDI0LDU3N10sWzU3OSw2MjgsNTkyXSxbNjA3LDU5Miw1MDRdLFsyNCw0MzIsNDcwXSxbMTA1LDYxNCwyNDddLFsxMDQsNzQyLDQ3MV0sWzU0MiwyNTksMjE1XSxbMzY1LDE5Niw0NTVdLFsxNDIwLDQ3LDY1XSxbMjIzLDcyNywxODRdLFs1NDcsNTQyLDY0N10sWzU3Miw1ODUsNjA2XSxbNTg3LDU3Miw2MDZdLFsyNjIsNzgwLDEzNzBdLFs2NDcsNTc2LDEzNl0sWzY0NCw2NzQsNTk4XSxbMjcxLDUzLDc1XSxbNzI3LDUwOCwyNThdLFs0NzEsNzQyLDE0Ml0sWzUwNSwzNzUsMjI0XSxbMzU3LDE3MTAsMjY5XSxbNzI1LDUwOCw2ODFdLFs2NTksNDk4LDU0Nl0sWzc0MywxMTc4LDMyXSxbMTE5NSw2MzQsMjMxXSxbMTE3NiwyNCw0NzBdLFs3NDMsMTExMCwxMTc4XSxbMTM1LDgwOSw4NTddLFs2Myw3NDYsNDA3XSxbNjM0LDExNzYsNDcwXSxbMTU5LDExMTIsMjddLFsxMTc2LDE2ODUsMjRdLFszOTksNDUwLDc3OV0sWzExNzgsODU2LDg3NV0sWzc1MSw3NDQsNTRdLFs0MzYsNDgsNzcyXSxbNjM0LDExMDgsMTIxMF0sWzc2OSwxMjg1LDEyODZdLFs3NTEsMjk4LDc1NV0sWzc0NiwxNjg0LDc1NF0sWzc1NCw5MjQsODddLFs3MjIsMTYyNSw3NTZdLFs4Nyw4MzksMTUzXSxbNDg5LDc5NSw4MjBdLFs3NTgsODA4LDE1MThdLFs4MzksODQwLDE1M10sWzgzMSwxMTExLDk1OV0sWzExMTEsNzQ5LDk1OV0sWzgxMCwxMjUzLDEzNjNdLFsxMjQ3LDEzOTQsNzEzXSxbMTM4OCwxMzI5LDEyMDFdLFsxMjQyLDEyMCw3NjFdLFs4NTcsNzkxLDM4NF0sWzc1OCwxNTIzLDgwOF0sWzI5Niw3NjQsMTUwNF0sWzcwLDE2NTIsODkxXSxbMjA3LDIzMywxNjM4XSxbMTM0OCw1NywyOF0sWzg1OCw0MjAsMzMyXSxbOTY0LDEzNzksMTI3OF0sWzQyMCwxMTk0LDgxNl0sWzc4NCwxMDc2LDExODZdLFsxMDc2LDIxLDExODZdLFsxNzEwLDc2NywxXSxbODQ5LDgyMiw3NzhdLFs4MDYsMTM3LDc4N10sWzc4Niw3OTAsNzQ0XSxbNzkwLDU0LDc0NF0sWzc3MSw2Myw0MDddLFs3ODUsODUyLDgxOF0sWzc3NCwxODIzLDI3Ml0sWzg5NSwxNTEsNTE2XSxbMTM1LDEwMjIsODA5XSxbOTksODI2LDQ4XSxbNDgsODI2LDc1NV0sWzgwOCw3MDUsNDA4XSxbODMzLDQ0MSw3MTZdLFsxNzMzLDc0MywzMl0sWzEzODUsODM2LDg1Ml0sWzc3Miw4MjcsNzM3XSxbMTAwNSw0OSw3ODFdLFs3OTMsMTY5Nyw4MTNdLFsxNTE4LDQ0MSwxNTM3XSxbMTEzOSwxMTMyLDg1OV0sWzc4Miw4MDEsNzcwXSxbMTUxMCwxNTMwLDY3Nl0sWzc3MCw4MTQsODM1XSxbMjMxLDc4Nyw4MjVdLFsyMDcsNzIyLDc1Nl0sWzI2LDc3MSw3OThdLFs3ODIsODYzLDg2NV0sWzgzMiw1NCw3OTBdLFs4NjUsODQyLDUwN10sWzc5OSw3NjUsOTRdLFsxMTc1LDEyNjEsMTM1M10sWzgwMCw0MDgsODA1XSxbMjYyLDk4NiwyMDBdLFs3OTIsODAwLDgxNF0sWzgwMSw3OTIsNzcwXSxbNzA0LDEyMDMsMTE0OF0sWzM1NiwxNTE0LDgyMl0sWzE2NSw1NDQsMzNdLFs1NjEsNzc2LDExM10sWzEwNDMsNzM4LDc3NV0sWzgxNSw4MzEsODIwXSxbNzczLDc5Miw4MDFdLFs3NzIsNDgsOTE0XSxbNzcyLDczNyw4MDNdLFs0MzYsNzcyLDgwM10sWzgwOCw4MTcsNzA1XSxbMTYyNCw4MjIsMTUyN10sWzU4OCwxMTQ0LDc4OF0sWzc5OSw3NjIsNjA0XSxbODIxLDE1MjAsMTY3Nl0sWzg1NCw4MDMsNjY2XSxbODI4LDQ4Miw0NzJdLFs0NDUsNzQsNDYzXSxbODMxLDQ4OSw4MjBdLFs4MjgsODM2LDQ4Ml0sWzcxNiw3ODIsNzYzXSxbMzM0LDgxNSw3NjZdLFs4MTUsODIzLDc2Nl0sWzMzNCw3NjYsNzY1XSxbODE5LDgwNSw4MzddLFsxNzE2LDE1MjEsMTQxMl0sWzE2ODQsOTI0LDc1NF0sWzgwMCw4MDUsODE5XSxbMTcwOSw4MjksNTU0XSxbODA2LDEzNDksMTM3XSxbOTksMTAxMyw3NDddLFszNDEsNTk1LDI3Nl0sWzgxNyw4MTAsODE4XSxbMTE3NiwxNjkxLDE2ODVdLFs3NjMsNzgyLDg2NV0sWzgzMCw4NDYsMTA1Ml0sWzg2NSwxNDk5LDg0Ml0sWzk4Miw4NDYsMTA1M10sWzg0Nyw4MzIsNzkwXSxbMTE3OCw4NzUsMTU4XSxbODE3LDgxOCw3MDVdLFsxMzAyLDEzOTIsNDVdLFs5Niw0MTcsMjg0XSxbMjIzLDYxNCw1MTddLFszNTYsNTA3LDE1MTRdLFsxMTY2LDg0OCwxMTc5XSxbMTM0OSw0MzIsMjZdLFs3MTcsOTIsMjc2XSxbNzcwLDgzNSw4NjNdLFs1MjIsNTA5LDE3NDVdLFs4NDcsODQxLDgzMl0sWzgzMiw4NDEsNDZdLFs4MjksNzM5LDU1NF0sWzgwMiw4MjQsMzldLFszOTcsMTA0Myw3NzVdLFsxNTY3LDg0OSw3NzhdLFsxMzg1LDQ4Myw4NTVdLFsxMzQ5LDI2LDEzNDZdLFs0NDEsODAxLDc4Ml0sWzQwMiw0MDEsMjkzXSxbMTA0Myw2NjcsNzM4XSxbNzU5LDc5OCwxMDA3XSxbODE5LDgzNyw3MjhdLFs3MjgsODM3LDgyOF0sWzgzNyw4NTIsODI4XSxbMTUzNyw0NDEsODMzXSxbMTQ4LDE0NzUsMTQ3XSxbODA1LDcwNSw4MzddLFs3MTYsNDQxLDc4Ml0sWzQ4MywxMzcxLDc4MF0sWzgxNCw4MTksODQ0XSxbODQ1LDc1MywxMzM2XSxbMTY2MSw3MTksNF0sWzg2Miw4NDcsNzkwXSxbNzM3LDgyNyw2NjZdLFsyMDEsNDYsODQxXSxbODEwLDc4NSw4MThdLFs0MDgsNzA1LDgwNV0sWzE1NjAsMTUzNiw4NDldLFsxNTg1LDg1MywxNzg2XSxbNywxNjY4LDgwN10sWzcsODA3LDhdLFs4MjIsMTUxNCwxNTI3XSxbODAwLDgxOSw4MTRdLFs4NDcsODYyLDg0MV0sWzk5MSw4NTcsNzYwXSxbNzA1LDgxOCw4MzddLFs4MDgsNDA4LDc3M10sWzQwMiwyOTMsNTc4XSxbNzkxLDg1OCwzMzJdLFsxNDgwLDEyMjgsMTI0MF0sWzgxNCw4NDQsODM1XSxbNzg1LDEzODUsODUyXSxbMTEzMiwxMjAsODU5XSxbMTc0MywxNzI2LDY4NF0sWzE3MDQsNzgzLDEyNzldLFsxNjIzLDE2OTQsMTczMV0sWzk1OSw0ODksODMxXSxbMTUxOCw4MDgsNzczXSxbODYyLDg3Miw4NDFdLFs0NDEsNzczLDgwMV0sWzMzMSw1MTIsMzA4XSxbMzgwLDIxNywyMTZdLFs4NDEsODcyLDIwMV0sWzgxOCw4NTIsODM3XSxbNDQ4LDE0ODAsMTI0MF0sWzg1NiwxMTA4LDExOTVdLFsxNTI3LDE1MTQsMTUyNl0sWzgxOSwxODIsMTIzMl0sWzg3MSw3MjQsNjkzXSxbODUyLDgzNiw4MjhdLFs3NzAsNzkyLDgxNF0sWzgwMyw3MzcsNjY2XSxbNzUxLDgyNiwyNzhdLFsxNjc0LDE3MjcsMTY5OV0sWzg0OSwzNTYsODIyXSxbODcxLDY5Myw4MzRdLFs1MDcsODQyLDE1MTRdLFsxNDA2LDEwOTcsODY5XSxbMTMyOCwxMzQ5LDEzNDZdLFs4MjMsODE1LDc5NV0sWzc0NCw3NTEsMjc4XSxbMTExMCw4NTYsMTE3OF0sWzUyMCw3MTcsMzE2XSxbODcxLDgzNCw2ODNdLFs4ODQsODc2LDcyNF0sWzE2NSwyNjYsNDddLFs3MTYsNzYzLDUwN10sWzIxNiw4ODksODg4XSxbODUzLDE1ODUsMTU3MF0sWzE1MzYsNzE2LDM1Nl0sWzg4Niw4NzMsNjIzXSxbNzgyLDc3MCw4NjNdLFs0MzIsMjQsMjZdLFs2ODMsODgyLDg3MV0sWzg4NCw3MjQsODcxXSxbMTE0LDg3Niw4ODRdLFs1MTYsNTkwLDM4OV0sWzExLDEyMTgsMTYyOF0sWzg2MiwxMTMsODcyXSxbODg2LDYyMyw2MjldLFs4MzAsMTA1MiwxMTIwXSxbNzYyLDE1Myw2MDRdLFs3NzMsNDA4LDc5Ml0sWzc2Myw4NjUsNTA3XSxbMTUzLDg0MCw2MDRdLFs4ODIsODg0LDg3MV0sWzUzMSwxNTEsMzI2XSxbODg2LDg5MCw4NzNdLFsxMzMsMjYyLDIwMF0sWzgxOSwxMjMyLDg0NF0sWzYyMSw2MzYsMTIyXSxbNjQ1LDg5Miw1MTldLFsxMTMwLDEwNzYsNzg0XSxbMTE0LDI2Myw4NzZdLFsxNjcwLDEwLDE2NjNdLFs5MTEsNjcwLDg5NF0sWzQ1Miw4ODUsODcyXSxbODcyLDg4NSwyMDFdLFs4ODcsODgyLDY4M10sWzg3OCw4ODQsODgyXSxbNTkwLDg3OCw4ODJdLFs4OTAsODY3LDY4OV0sWzg5Nyw2MjksNjIxXSxbODk3LDg4Niw2MjldLFs4MTksNzI4LDE4Ml0sWzUxOSw4OTMsNjg4XSxbODk0LDY3MCw1MjZdLFs4OTgsODk0LDUyNl0sWzE1MzYsMzU2LDg0OV0sWzgxMCwxMzYzLDc4NV0sWzg3OCwxMTQsODg0XSxbODc5LDg4OCw4OTJdLFs4OTIsODg5LDg5M10sWzg5Myw4OTgsNjg4XSxbODk1LDY4Myw4NDNdLFs4OTUsODg3LDY4M10sWzg4OSw2MjAsMjY3XSxbNTkwLDg4MiwzODldLFs0MTgsNDY1LDg0XSxbOTQ5LDg5Nyw2MjFdLFs4OTcsODkwLDg4Nl0sWzg4OSwyNjcsODkzXSxbODk4LDI2Nyw4OTZdLFs1MzEsMzI2LDQ3M10sWzE4OSw2NTEsODc4XSxbODQzLDY4Myw2NDZdLFs4OTcsODY3LDg5MF0sWzg4OCw4ODksODkyXSxbODkzLDI2Nyw4OThdLFs4OTYsODk0LDg5OF0sWzQ3Myw4OTUsODQzXSxbODk1LDM4OSw4ODddLFs5NzQsNzA2LDY2OV0sWzUxMywxMTE1LDUyMV0sWzMyNiwxNTEsODk1XSxbODA5LDc5MSw4NTddLFsyMTEsMjYyLDEzM10sWzkyMCw5MjMsOTQ3XSxbOTIzLDkwLDk0N10sWzkwLDI1LDk0N10sWzI1LDk3Miw5MzVdLFs2NCw0MzEsODk5XSxbNTIsODk5LDkwMV0sWzkwMyw5MDUsNTldLFs0MzcsOTY3LDczXSxbODM5LDEyNDIsNzYxXSxbOTA0LDk3NSw0NF0sWzkxNywzMDEsMTQ0XSxbOTE1LDY3MCw5MTFdLFs5MDUsMjAxLDg4NV0sWzE2ODQsNjMsMTY4NV0sWzEwMzMsMTE5NCwyODhdLFs5NTAsOTEzLDc1NV0sWzkxMiw5MTgsOTExXSxbOTUwLDkxNCw5MTNdLFs1MDYsOTE4LDkxMl0sWzkyMiw5MTksOTE1XSxbOTExLDkyMiw5MTVdLFsxMDA0LDQ1MSw0OTJdLFsxMjYzLDU1Myw2MzldLFs5MjIsOTExLDkxOF0sWzYzMCw5MjAsOTQ3XSxbOTE2LDUwNiw5MjZdLFs5MTYsOTE4LDUwNl0sWzUyMSwxMTE1LDEwOThdLFs5MTYsOTIyLDkxOF0sWzkxOSw0MTgsOTE1XSxbODMsMzgsNzVdLFsyNCwxNjg1LDc3MV0sWzExMCwxMjMwLDEyMTNdLFs3MTIsOCwxODM3XSxbOTIyLDkzMCw5MTldLFs5MTksNDMwLDQxOF0sWzEzOTUsMTQwMiwxMTg3XSxbOTMwLDkyMiw5MTZdLFs1OTQsNjIzLDY5XSxbMzUsNDMxLDk2OF0sWzM1LDk2OCw5NjldLFs4NjYsOTI0LDE2ODRdLFsxNjI1LDEyNjMsNjc1XSxbNjMxLDYzMCw1Ml0sWzkzMCw5MzEsOTE5XSxbNDMwLDcwOSw0MThdLFszMDIsMzMzLDQ5XSxbMTQ0Niw5NzgsMTEzOF0sWzc5OSwxMDA3LDc5OF0sWzkzMSw4NDMsOTE5XSxbOTQ3LDI1LDY0XSxbODg1LDczOCw2NjddLFsxMjYyLDk2Myw5NjRdLFs4OTksOTcwLDkwMV0sWzE0MDEsOTQ2LDkzOF0sWzExMTcsOTMzLDEwOTFdLFsxNjg1LDYzLDc3MV0sWzkwNSw5NDgsMjAxXSxbOTc5LDkzNyw5ODBdLFs5NTEsOTUzLDk1MF0sWzkzNywyNzAsNDQzXSxbMTE1NCw5MDMsNTldLFsxMTk0LDk1NCwxMDY3XSxbOTA5LDQwNSw5MDddLFs4NTAsMTE1MSw1OV0sWzE3NjksODExLDE0MzJdLFs3NiwyMDYsMjUwXSxbOTM4LDk0Niw5NjZdLFs5NjUsOTI3LDk0Ml0sWzkzOCw5NjYsOTU3XSxbOTU1LDk3NSw5MDRdLFs5MjcsOTY1LDkzNF0sWzUyLDUxLDYzMV0sWzU5LDkwNSw2NjddLFs0MzEsOTM1LDk2OF0sWzc4NiwyODksNTYxXSxbMjUyLDEyMiw2NzFdLFs0ODEsNDk0LDEwN10sWzk1NCwxODE3LDEwNjddLFs3OTUsMjUsOTBdLFs5NTgsOTY1LDk0NV0sWzc5NSw5NzIsMjVdLFs5MDIsOTgzLDk1NV0sWzk3Miw0ODksOTQ0XSxbMTI1NiwyOSw0MjRdLFs2NzEsMzMxLDk0NV0sWzk0Niw5NTgsOTYzXSxbOTU2LDk1NSw5MDRdLFs5MDIsOTU1LDk1Nl0sWzY3MSw1MTIsMzMxXSxbOTQ1LDMzMSw5NjFdLFs2NjIsNjcxLDEyMl0sWzY3MSw2NjIsNTEyXSxbOTM0LDY1LDkyN10sWzYzMCw5NDcsNTJdLFs2NjYsNjMxLDkxMF0sWzg1MCw1OSw2NjddLFs5NjEsMzMxLDIzNF0sWzEwMjQsNDExLDEwNDJdLFs4OTAsNjksODczXSxbMjUyLDY3MSw5NDVdLFs5NzUsMjkwLDk0MF0sWzI4MywxODYsMTk2XSxbMzAsMjgzLDM2NV0sWzk1MCw3NTUsMjk4XSxbOTQ2LDk2NSw5NThdLFs5ODUsMjkwLDk3NV0sWzk2OSwyOTAsOTg1XSxbNDA1LDg1MSwyMDZdLFs5MzUsNDMxLDY0XSxbOTQxLDE0MjMsMTQyMF0sWzk2NCw5NjMsMTY3XSxbOTQyLDI1Miw5NDVdLFs3OCw3NTcsNTddLFs0OSwxMDA1LDY2XSxbOTM3LDk3OSwyNzBdLFs2MzEsNjY2LDgyN10sWzk4MCw5MzcsNDQzXSxbNjYsNjg5LDI4Ml0sWzQyMSw5MDIsOTU2XSxbOTQ3LDY0LDUyXSxbMzUsOTc5LDg5OV0sWzk1MSw5NzEsOTUzXSxbNzYyLDg3LDE1M10sWzI3LDMxLDM4MV0sWzkyNCw4MzksODddLFs5NDYsOTYzLDk2Nl0sWzMzMSwzMDgsMzQwXSxbOTU3LDk2NiwxMjYyXSxbNDczLDg0Myw5MzFdLFs5NTMsOTcxLDkyMF0sWzI3MCw5NjksOTAyXSxbOTM1LDk2Miw5NjhdLFs1MSwxMDA1LDc4MV0sWzk2OSw5ODMsOTAyXSxbNDM3LDczLDk0MF0sWzY5LDQyMSw5NTZdLFs3NjEsMjQ5LDg0MF0sWzI2Myw5NzQsNjY5XSxbOTYyLDk0NCw5NjddLFs5NjIsNDM3LDI5MF0sWzk4NSw5NzUsOTU1XSxbOTA3LDQwNSw5NDhdLFs3MjAsOTU3LDEyNjJdLFsyNSw5MzUsNjRdLFsxNzYsMjAwLDU3MV0sWzEwOCw5NDUsNTBdLFsyNTAsODUxLDQxNF0sWzIwMCw5ODYsNTcxXSxbODgxLDk3NCwyNjNdLFs4MjcsNzcyLDk1M10sWzk3MCw4OTksOTgwXSxbMjksMTU5LDI3XSxbMjM0LDMzMSwzNDBdLFs5NDgsNDA1LDIwNl0sWzk4MCw4OTksOTc5XSxbOTg2LDk4NCw1NzFdLFs1NzEsOTg0LDg4MV0sWzk5MCw3MDYsOTc0XSxbOTQ2LDkzNCw5NjVdLFs5NzAsOTgwLDY2XSxbMTExMywxNDg2LDE1NTRdLFs5ODQsOTgxLDg4MV0sWzg4MSw5ODcsOTc0XSxbNjg5LDY2LDQ0M10sWzEwMDUsOTAxLDY2XSxbOTgzLDk4NSw5NTVdLFsxNjUsNDcsNzE4XSxbOTg3LDk5MCw5NzRdLFsxMzcwLDk4NiwyNjJdLFs5MDEsOTcwLDY2XSxbNTEsOTAxLDEwMDVdLFs5ODEsOTg3LDg4MV0sWzk4OCw3MDYsOTkwXSxbOTQyLDk0NSw5NjVdLFsyOTAsNDM3LDk0MF0sWzY0LDg5OSw1Ml0sWzk4OCw1NTYsNzA2XSxbOTQxLDkzNCw5NDZdLFs0MzEsMzUsODk5XSxbOTk2LDk4OSw5ODRdLFs5ODQsOTg5LDk4MV0sWzk4MSw5ODksOTg3XSxbMzUsOTY5LDI3MF0sWzEzNzAsOTk1LDk4Nl0sWzk4Niw5OTUsOTg0XSxbOTg5LDk5OSw5ODddLFs5ODcsOTkyLDk5MF0sWzk5Miw5ODgsOTkwXSxbOTYyLDk2Nyw0MzddLFs5NTEsOTUwLDk3Nl0sWzk3OSwzNSwyNzBdLFs0MjEsMjcwLDkwMl0sWzk5OCw5OTUsMTM3MF0sWzk4Nyw5OTksOTkyXSxbOTg4LDM2NCw1NTZdLFs5NjksOTg1LDk4M10sWzY4OSw0NDMsODkwXSxbOTk1LDEwMDAsOTg0XSxbMjE5LDk1OCwxMDhdLFs5OTgsMTAwMCw5OTVdLFs5OTksOTk3LDk5Ml0sWzkxNCw5NTMsNzcyXSxbODQ1LDEzMzYsNzQ1XSxbODA2LDc4NywyMzFdLFsxMDAwLDk5Niw5ODRdLFs5ODksOTk2LDk5OV0sWzUwLDk0NSw5NjFdLFs0NDMsNDIxLDY5XSxbNzk3LDE1OCw3NzldLFsxMDk4LDE0NjMsNDM0XSxbOTk2LDEwMDksOTk5XSxbMTAwMSw5ODgsOTkyXSxbMTAwMSwzNjQsOTg4XSxbOTAzLDkwNyw5MDVdLFsyNiw3NTksOTczXSxbOTk3LDEwMDEsOTkyXSxbNjMyLDM2NCwxMDAxXSxbMTM0NiwyNiw5NzNdLFs5OTgsMTAwOCwxMDAwXSxbMTAwMCwxMDA5LDk5Nl0sWzUzMSw5MzEsNzM2XSxbMjUyLDk0OSw2MjFdLFsyODYsMzg4LDUyNV0sWzExNzQsMTAwOCw5OThdLFsxMDA5LDEwMTAsOTk5XSxbOTk5LDEwMTAsOTk3XSxbMTAxNCwxMDAxLDk5N10sWzYxNCwxMDUsNTE3XSxbOTU4LDk0NSwxMDhdLFs1MjUsMTAwNCwyNDJdLFs5NjMsOTU4LDIxOV0sWzIzMyw0MjYsMzA0XSxbMTAwMCwxMDA4LDEwMDldLFsxMDEwLDEwMTQsOTk3XSxbMTAwMSwxMDA2LDYzMl0sWzgyNCw0MTMsMzldLFs2NDIsNjM2LDYyMl0sWzQ4MCwzODgsMjA1XSxbMjgsNzU3LDc5N10sWzEwMTQsMTAwNiwxMDAxXSxbMTAwNiw0MTAsNjMyXSxbOTc1LDk0MCw0NF0sWzEyMzQsNDIwLDg1OF0sWzU0LDgzMiw0Nl0sWzEwMDksMTAxMiwxMDEwXSxbMTY3LDk2MywyMTldLFs0MSw0ODEsMTA3XSxbMTAxNywxMDEwLDEwMTJdLFsxMjIsNjM2LDY2Ml0sWzkzOSw1MjUsMzg4XSxbNTI1LDkzOSwxMDA0XSxbOTUwLDk1Myw5MTRdLFs4MjksMTczNSw3MzldLFsxMDA4LDg4MCwxMDE1XSxbMTAwOCwxMDE1LDEwMDldLFsxMjYzLDYzOSw2NzVdLFs5NTYsNTk0LDY5XSxbNzk1LDkwLDEzNDddLFsxMTc5LDg0OCwxMDEzXSxbNzU5LDEwMDcsOTczXSxbMTAwOSwxMDE1LDEwMTJdLFsxMDEyLDEwMTYsMTAxN10sWzEwMTcsMTAxNCwxMDEwXSxbMTAxOSwxMDExLDEwMDZdLFs5MjcsNjUsOTQ5XSxbNjQ5LDMxNiw1OTVdLFs5MTMsNDgsNzU1XSxbOTc2LDk1MCwyOThdLFsxMDAzLDEwMTUsODgwXSxbMTAxOCwxMDA2LDEwMTRdLFsxMDIxLDEwMTgsMTAxNF0sWzQ0NCw2OTIsMTAxMV0sWzQ1MSwxMDI5LDEwNjNdLFsxMTg1LDg1MSwxMTYzXSxbMjksMjcsMzgxXSxbMTgxLDUyNSwyNDJdLFsxMDIxLDEwMTQsMTAxN10sWzEwMTYsMTAyMSwxMDE3XSxbMTAxOCwxMDE5LDEwMDZdLFsxMDE5LDQ0NCwxMDExXSxbOTI3LDk0OSw5NDJdLFs0NTEsMzkzLDQ5Ml0sWzkwMywxMTU0LDkwN10sWzM5MSwxMDEsNTddLFs5NCw3NjUsNThdLFs0MTksMTAxNiwxMDEyXSxbOTQ5LDI1Miw5NDJdLFs5MDcsMTAyMCw5MDldLFs3NjUsNDQyLDU4XSxbOTQsNDA2LDkwOF0sWzEwMDcsOTQsOTA4XSxbMzQsMTAxMiwxMDE1XSxbMzQsNDE5LDEwMTJdLFs0MTksMTAyMSwxMDE2XSxbNDUxLDEwNTcsMzkzXSxbOTA3LDk0OCw5MDVdLFsxMDM0LDEwNzMsMTAzOV0sWzEwNjEsOTA2LDE2MTldLFsxMDY4LDk2MCwxMDM0XSxbNDcxLDEyNDksMTA0XSxbMTEyLDEwMjQsMTA0Ml0sWzM3MiwzNzksMTI1XSxbMzQxLDU0MywxNjVdLFsxNDEsMTA5NCwxNzBdLFs1NjYsMjQzLDEwNjFdLFszOTgsMTAzNCwxMDM5XSxbMzI1LDMxNywxODIzXSxbMTQ5MywyOTYsMTcyNF0sWzg1MCw2NjcsMTA0M10sWzEwNTQsMjk3LDEwNjVdLFsxNjE5LDEzNSwxMDc0XSxbMTA2MSwyNDMsOTA2XSxbNjgwLDEwMjQsODIxXSxbMTEwMyw5NiwxMjQ1XSxbMTQ0MCwxMTIzLDE0OTFdLFsxMDQ3LDEwMjUsMTA0NF0sWzY3Miw0NTQsMTIzMV0sWzE0ODQsNjk3LDE1MzBdLFs5OTMsNjcyLDEyMzFdLFsxNzgsMTU0LDEwODhdLFsxMDQ0LDEwNDEsMTA2Nl0sWzExMiwxMDYyLDEwNThdLFsxNTMwLDY0OSw2NzZdLFsxNzgsMTA4OCwxMDQwXSxbMTA0NiwzMjgsOTU0XSxbMjQzLDI0NCwxMDIyXSxbOTU0LDExOTQsMTAzM10sWzEwNDIsNDExLDEwMzJdLFs5NzEsOTkzLDEwNTZdLFs5NjAsMTA5MywxMDM0XSxbMTc1NCwxMzM4LDIzMl0sWzM4NSwxMDY0LDQxMl0sWzEwNTcsMTA2MywxMTFdLFs3NDgsMTA3MSwxNDQ3XSxbMTUzMCw2OTcsNjk1XSxbOTcxLDEwNTYsMTI3MF0sWzk3NywxMDU5LDEyMTFdLFs2NDksNzQxLDMxNl0sWzEwNjAsMTQ1MiwxMDMwXSxbMzUzLDM1NCwxMzIzXSxbNjk1LDc2OCw2NDldLFszOTgsNDA0LDEwMzRdLFs1OTYsMzE2LDc0MV0sWzE4MzYsMTE5LDEzXSxbMTUxMywxMTE1LDE1MjhdLFs4ODMsMTA4MSwxNjUyXSxbMTAzOSwxMDczLDEwNDhdLFs0NjIsNDI2LDIzM10sWzMxLDEyOTYsMzU0XSxbMTA1NSwxMDQ3LDEwNjZdLFsxMDMyLDEwNTQsMTA0NV0sWzE1MjEsMzEwLDEyMjRdLFsxMTksODYxLDEzXSxbMTE5NCwxMjM0LDI4OF0sWzExMDksMTc3MSwxMDcwXSxbMTE2NiwxMTYwLDc3Nl0sWzEwNDQsMTAzNSwxMDQxXSxbMTAyNiw5NjAsMTA2NF0sWzEwNTAsMTAzMiwxMDQ1XSxbMTA0OSwxMDQxLDM4N10sWzExNSwxMDEzLDk5XSxbMTA0Niw5NTQsMTAzM10sWzEzMjEsOTIwLDk3MV0sWzYxMSwxMDU4LDM0NV0sWzEwNDgsMTA2NiwxMDQ5XSxbMTAyMywxMDU1LDEwNzNdLFsxMDI5LDQ1MSwxMDA0XSxbMTE4LDEwOTQsMTQxXSxbMTA5NCwxMDgwLDE3MF0sWzEwNDIsMTAzMiwxMDUwXSxbMTAyNiwxMDY0LDM4NV0sWzE1LDE2LDEwODRdLFsxMDk2LDEwNzksNjFdLFsxMDc1LDEwNzEsNzQ4XSxbMzI1LDE4MTcsMzI4XSxbOTA5LDExNjMsNDA1XSxbMTAyMiwxMjM0LDgwOV0sWzM3NCwzOTgsMTA1MV0sWzEwODIsNzIsODFdLFsxMDIzLDEwMzQsMTA5M10sWzE4MTcsMTc5NCwxMDY3XSxbODYsMTQ0NSwxNDAwXSxbMTUwNywxNTM1LDE1MTBdLFsxMDc5LDEwOTYsMTA3NV0sWzU2OCwxNDc4LDExMDRdLFsxMDcwLDE3OCwxMDQwXSxbMTAzNCwxMDIzLDEwNzNdLFs3NzYsMTE1NSwxMTNdLFsxMTAzLDE0MywxNDJdLFsxMTQwLDgxLDczXSxbMTA4Miw4MSwxMTQwXSxbMTA2MCwxMDMwLDkzNl0sWzEwNDAsMTA4NiwxMTA5XSxbMzcwLDEwNjUsMzg1XSxbNjEsNzIsMTA4Ml0sWzEwODcsMTA5NiwxMTQ0XSxbMTA0MCwxMDg4LDEwODZdLFsxNjUxLDgxMiw3NTJdLFsxMDYyLDEwNTAsMTA0NV0sWzE4NywxNTQsMTc4XSxbMTc5LDE4NywxNzhdLFsxMDk5LDEzNDQsMTEwMV0sWzE2NjgsMTA1OCw4MDddLFsxMDczLDEwNTUsMTA0OF0sWzEwOTksMTMzNiwxMzQ0XSxbMTI4Myw5NDMsMTEyM10sWzEwNDksMzg3LDEwNTFdLFsxMDI0LDY4MCw0NDldLFs2MSwxMDgyLDExMDBdLFs5NjcsNzQ5LDExMTFdLFsxNDM5LDEwMzcsODhdLFs3NDIsMTUwNSwxNDJdLFszOTgsMTAzOSwxMDUxXSxbMTEwNywxMzM2LDEwOTldLFsxMzQ0LDE1NDIsMTEwMV0sWzE0MiwxNTA1LDExMDNdLFs0NzcsMTA5Myw0NDddLFs0NzcsMTAyMywxMDkzXSxbNDcxLDE0MiwxMjQ5XSxbMTA0MSwxMDM1LDM5NF0sWzEzMjgsNTY4LDExMDRdLFs2MSwxMTAwLDEwOTZdLFsxNTQsMTA5MiwxMDg4XSxbMTEyLDEwNDIsMTA1MF0sWzE1NCwxODcsMTY4XSxbNDM1LDIzNSw0NV0sWzEwNzUsMTA5NiwxMDg3XSxbOTcsMTA3NSw3NDhdLFsxMDQ5LDEwNjYsMTA0MV0sWzgxNiwxMDY3LDEwMjhdLFs4NDYsOTgyLDExNDJdLFsxMjQ1LDk2LDI4NF0sWzEwOTIsMTU0LDEwODBdLFsxMDU3LDQ1MSwxMDYzXSxbMzg3LDM3NywxMDUxXSxbMTA1NSwxMDI1LDEwNDddLFsxMDc1LDEwODcsMTA4OV0sWzExMDYsMTEwOCw4NTZdLFsxMDY4LDEwMzQsNDA0XSxbMTQ4MCwxNTQ1LDg2OF0sWzkwNiwxMzUsMTYxOV0sWzEwNzQsOTkxLDEwOTVdLFs1NzAsNTY2LDEwNjFdLFsxMDI1LDQ1MywxMDQ0XSxbNzQ1LDEzMzYsMTEwN10sWzEwMzUsMTA1Nyw0MTZdLFsxMDkyLDExMDIsMTEyOV0sWzEwNzQsMTM1LDk5MV0sWzExMDUsNzQ1LDExMDddLFs0NDcsMTAyNiw0NDZdLFszOTQsMzg3LDEwNDFdLFs3Myw4MSw5NDBdLFsxMTE4LDExMDgsMTEwNl0sWzEyMTAsMTEwOCw4NzRdLFsyNDMsMTAyMiw5MDZdLFs0MTIsMTA2NCwxMDY4XSxbMTI4MCw2MTEsNjAzXSxbOTYwLDQ0NywxMDkzXSxbMTA1MSwxMDM5LDEwNDldLFsxMDQwLDExMDksMTA3MF0sWzE0NzEsMTAzNywxNDM5XSxbNjksODkwLDQ0M10sWzEzNzcsNzAzLDEzNzRdLFsxMDkyLDEwODAsMTEwMl0sWzEwOTYsMTEwMCw3ODhdLFsxMDk2LDc4OCwxMTQ0XSxbMTExNCw5NjcsMTExMV0sWzQ0NiwxMDI2LDI5N10sWzcwLDExMTIsODgzXSxbNDUzLDM5MywxMDU3XSxbMTExOCw4NzQsMTEwOF0sWzEwNTQsMzcwLDEwNDVdLFsxMDgwLDEwOTQsMTEwMl0sWzEwMzksMTA0OCwxMDQ5XSxbNDI4LDc1Myw4NDVdLFsxMDQ3LDEwNDQsMTA2Nl0sWzEwNDQsNDUzLDEwMzVdLFsxNDcyLDczMSwxNTEyXSxbMTEyNiwxMTIxLDc0M10sWzc0MywxMTIxLDExMTBdLFsxMDMyLDI5NywxMDU0XSxbMTQ4MCw4NjgsMTIxNl0sWzcxLDM1OCw3Ml0sWzExMzMsOTY3LDExMTRdLFsxMTA1LDExMTksNzQ1XSxbMTAzNSw0NTMsMTA1N10sWzEwMjYsNDQ3LDk2MF0sWzQ1NCw4NTEsMTE5MF0sWzEwMzAsMTQ3Nyw2NTJdLFs1ODksODE2LDEwMjhdLFsxMTEwLDExMjEsMTEwNl0sWzExMjIsMTExOCwxMTA2XSxbMTExNiw4NzQsMTExOF0sWzEwNDgsMTA1NSwxMDY2XSxbMTE5NCwxMDY3LDgxNl0sWzc0NCwyNzgsNzQ3XSxbNzQ1LDExMjAsODQ1XSxbODQ1LDEwNTIsNDI4XSxbMTEwNSwxNzgwLDExMTldLFsxMDY1LDI5NywzODVdLFsxMDk4LDE1MjksMTQ2M10sWzczMSwxMDYwLDkzNl0sWzIzNSw0MzQsODEyXSxbMTQ0NSwxNTI1LDExMTddLFsxMTA2LDExMjEsMTEyMl0sWzExMjIsMTEyNywxMTE4XSxbMTEyNywxMTE2LDExMThdLFsxMDk0LDExOCwxNzMyXSxbMTExOSwxMTIwLDc0NV0sWzE0MDYsMTEyNCwxMDk3XSxbNDM1LDExNywyMzVdLFsxNDYyLDE0NDAsMTAzN10sWzExMjYsMTEyOSwxMTIxXSxbMTA4OCwxMDkyLDExMjldLFsxMTMzLDczLDk2N10sWzExMjAsMTA1Miw4NDVdLFs4MTIsNDM0LDc1Ml0sWzE0NDEsMTU1OSwxMjAwXSxbMTEzMSw1ODgsNDEzXSxbMTA1NCwxMDY1LDM3MF0sWzIzNSwxMDk4LDQzNF0sWzEwNTIsMTE0Miw0MjhdLFsxNzM3LDQyOCwxMTQyXSxbMTQ5NiwxNDQ2LDE0ODNdLFsxMTgyLDEwODMsMTY1NF0sWzExMjEsMTEyOSwxMTIyXSxbMTczMiwxMTE2LDExMjddLFs3NjgsNDU3LDY0OV0sWzc2MSwxMTE0LDI0OV0sWzEwNjQsOTYwLDEwNjhdLFsxMTM1LDE0ODEsMTEzNl0sWzExMjYsOTUyLDExMjldLFsxMDg3LDU4OCwxMTMxXSxbMTA4NywxMTQ0LDU4OF0sWzg1OSw3ODgsMTEzOV0sWzExNDAsMTEzMywxMTMyXSxbMTEzMywxMTQwLDczXSxbMTgyMiw1NzAsMTA2MV0sWzM5NCwxMDM1LDQxNl0sWzEwNTUsMTAyMyw0NTldLFs4MCwyNjQsNDg1XSxbMTExOSwxMTI4LDExMjBdLFsxNDUsMTY1OCw1NjddLFs2OTUsODkxLDc2OF0sWzExMjksMTEwMiwxMTIyXSxbMTEyMiwxMTAyLDExMjddLFsxNDE2LDEwNzcsMTQxM10sWzI5NywxMDI2LDM4NV0sWzEwNTIsODQ2LDExNDJdLFsxNDQ1LDExMTcsMTQwMF0sWzk1MiwxMDg2LDExMjldLFsxNzE0LDEwODksMTEzMV0sWzExMzEsMTA4OSwxMDg3XSxbMTEwMCwxMTM5LDc4OF0sWzExMiwxMDUwLDEwNjJdLFsxMzIzLDM1NCwxMjk2XSxbNDksMzMzLDExNDFdLFsxMTQyLDk4MiwxNzM3XSxbNzksMTQ1NywxMDkxXSxbMTA4OCwxMTI5LDEwODZdLFsxMTAyLDEwOTQsMTEyN10sWzExMjcsMTA5NCwxNzMyXSxbMTEwMCwxMDgyLDExMzldLFsxMDgyLDExMzIsMTEzOV0sWzEwODIsMTE0MCwxMTMyXSxbMTE1MCwxMDQzLDM5N10sWzYwLDExNjYsMjg5XSxbMTY5NiwxMTQ2LDE2OThdLFsxMjk3LDEyMDIsMTMxM10sWzQwOSwxMjk3LDEzMTNdLFsxMjM0LDExOTQsNDIwXSxbMTQwOCwxMzkxLDEzOTRdLFs0MjQsMTIzNSwxMjQzXSxbMTIwMywzMDksMTE0OF0sWzQ4NSw0NzcsNDQ3XSxbMTE1MiwxMTU2LDg1MF0sWzExNTMsMTE0OSwxMTU1XSxbMTE1MywxMTU3LDExNDldLFsxMTQ5LDExNTIsMTE1MF0sWzExNTYsMTE1NCwxMTUxXSxbNzc2LDExNTMsMTE1NV0sWzExNTcsMTE1MiwxMTQ5XSxbMTIxNywxMzkzLDEyMDhdLFsxMTU2LDExNTksMTE1NF0sWzExNTMsMTE2NSwxMTU3XSxbMTE2NSwxMTUyLDExNTddLFsxMTU5LDEwMjAsMTE1NF0sWzExNjEsMTE1Myw3NzZdLFsxMTYxLDExNjUsMTE1M10sWzExNjUsMTE1OCwxMTUyXSxbMTE1MiwxMTU4LDExNTZdLFsxMTU4LDExNTksMTE1Nl0sWzExNjYsNzc2LDU2MV0sWzExNjAsMTE2MSw3NzZdLFsxMTYxLDExNjQsMTE2NV0sWzExNjEsMTE2MCwxMTY0XSxbMTE1OCwxMTYyLDExNTldLFsxMTU5LDExNjIsMTAyMF0sWzEyNzAsMTMyMSw5NzFdLFsxMTY0LDExNzAsMTE2NV0sWzExNjUsMTE2MiwxMTU4XSxbMTE2MiwxMTYzLDEwMjBdLFs1ODgsNzg4LDkyNV0sWzExNjYsMTE2NywxMTYwXSxbMTE2NSwxMTcwLDExNjJdLFsxMTYwLDExNjcsMTE2NF0sWzExNjIsMTE3MCwxMTYzXSxbMTE3OSwxMTY3LDExNjZdLFsxMTY3LDExNjgsMTE2NF0sWzExNjQsMTE2OCwxMTcwXSxbMTE2OCwxMTY5LDExNzBdLFsxMjM0LDEwMjIsMjg4XSxbODAyLDM5LDg2Nl0sWzExNzksMTE2OCwxMTY3XSxbMTE2OSwxMTczLDExNzBdLFsxMTcwLDExNzMsMTE2M10sWzExNzMsMTE4NSwxMTYzXSxbMTM2MCwxMjY3LDEzNjRdLFsxMTY5LDExODUsMTE3M10sWzYxMSwyNDQsMjQzXSxbOTAwLDEyMjYsMTM3Nl0sWzEyNjAsMTQwOCwxMzUwXSxbNjE4LDg0MCw4MzFdLFsxMTgxLDExODMsMTE3OV0sWzExNzksMTE4NCwxMTY4XSxbMTIwOCwxMjc0LDEyOTFdLFsxMTgzLDExODQsMTE3OV0sWzExNjgsMTE4NCwxMTY5XSxbMTM4NywxMzk1LDEyNTRdLFsxMjA4LDEyMDQsMTE3Ml0sWzExODIsMTE5NywxMDgzXSxbMTE4NywxMDgzLDExOTddLFsxMjEzLDExODMsMTE4MV0sWzExNjksMTIwNywxMTg1XSxbMTM1LDg1Nyw5OTFdLFsxMDEzLDEyMTMsMTE4MV0sWzExODksMTE4MywxMjEzXSxbMTE4MywxMTg5LDExODRdLFsxMTY5LDExODQsMTIwN10sWzEyMDcsMTE5MCwxMTg1XSxbMTE4MCwxMzg5LDEyODhdLFsxMTkxLDExOTIsMTY0MF0sWzE2NDAsMTE5MiwxMDkwXSxbMTA5MCwxMjA1LDE2NTRdLFsxNjU0LDEyMDUsMTE4Ml0sWzExODgsMTM5NSwxMTg3XSxbMTEyNiw3NDMsMTczM10sWzc4OCw4NTksOTI1XSxbODA5LDEyMzQsMTE3MV0sWzExOTMsMTE5NywxMTgyXSxbMTE4OSwxMTk5LDExODRdLFsxNjM5LDExOTEsMTYzN10sWzE2MzksMTIxMiwxMTkxXSxbMTIwNSwxMTkzLDExODJdLFsxMTk4LDExODcsMTE5N10sWzExOTksMTIwNywxMTg0XSxbMzMyLDEwNTMsODQ2XSxbMTA5MCwxMTkyLDEyMDVdLFsxMTcsMTE4OCwxMTg3XSxbNDM1LDExODgsMTE3XSxbNDM1LDEyMDYsMTE4OF0sWzExOTksMTE4OSwxMjEzXSxbNDIwLDgxNiwxMDUzXSxbMTIxMiwxMjE1LDExOTFdLFsxMTcsMTE4NywxMTk4XSxbNDUsMTIwNiw0MzVdLFsxMjAsMTEzMiwxMTMzXSxbODc0LDExMTYsMTIxMF0sWzExOTEsMTIxNSwxMTkyXSxbMTE5MywxMjE2LDExOTddLFsxMjE2LDExOTgsMTE5N10sWzExOTksMTIxNCwxMjA3XSxbMTE3LDUyMSwyMzVdLFsxMjIwLDEzMTEsMTA3OF0sWzEyMjAsOTAwLDEzMTFdLFsxNjUzLDEyMTUsMTIxMl0sWzExOTIsMTIyNSwxMjA1XSxbMTIwNSwxMjA5LDExOTNdLFsxMjA5LDEyMTYsMTE5M10sWzEzODksMTIxNywxMTcyXSxbMTIwNywxMjE0LDQ1NF0sWzE3MSw1NTcsMTc0N10sWzE4MDUsMTA3OCwxNzg3XSxbMTgwNSwxMjE5LDEwNzhdLFsxMTk4LDEyMTYsODY4XSxbNjY2LDkxMCw4NTRdLFsxMjMwLDEyMzEsMTIxM10sWzEyMTMsMTIzMSwxMTk5XSxbMTE5OSwxMjMxLDEyMTRdLFsxMjE5LDEyMjAsMTA3OF0sWzEyMTUsMTIyMSwxMTkyXSxbMTE5MiwxMjIxLDEyMjVdLFsxMjI1LDEyMjgsMTIwNV0sWzEyMDUsMTIyOCwxMjA5XSxbMTIwOSwxMjI4LDEyMTZdLFsxNDY0LDEzMjUsMTIyM10sWzEyMTUsMTIyNywxMjIxXSxbMTIyOCwxNDgwLDEyMTZdLFsxMjI2LDE2NTMsMTM3Nl0sWzE2NTMsMTI0OSwxMjE1XSxbMTIyMSwxMjQwLDEyMjVdLFsxMjI1LDEyNDAsMTIyOF0sWzgzOSw3NjEsODQwXSxbMTIzOCwxMjE5LDE4MDVdLFsxMjM4LDEyMjAsMTIxOV0sWzEyMzIsMTM4MCwxMzc1XSxbMTIyNiwxMjQ5LDE2NTNdLFsxMjIxLDEyMjcsMTI0MF0sWzIzMywyMDcsNTMyXSxbMTEwLDEyMzYsMTIzMF0sWzEyNDgsMTIzMSwxMjMwXSxbMTIzMSw0NTQsMTIxNF0sWzEyNDksMTIyNywxMjE1XSxbMTI0OCwxMDU2LDEyMzFdLFs0ODksOTU5LDk0NF0sWzQ0OCwxMjQwLDI4NF0sWzkyNSw4NTksMTI0Ml0sWzE4MDUsMTI0NCwxMjM4XSxbMTI1MiwxMjIwLDEyMzhdLFsxMjUyLDkyMSwxMjIwXSxbMTIzNiwxMjUxLDEyMzBdLFsxMjMwLDEyNTEsMTI0OF0sWzEwNTYsOTkzLDEyMzFdLFsxMDMxLDEyNjQsMTI2M10sWzY4LDExODYsMTU3XSxbMTIyNywxMjQ1LDEyNDBdLFsxMTAzLDEyNDUsMTQzXSxbMTI0MywxMjM1LDYxMl0sWzEyNTIsOTUsOTIxXSxbMTI0OSwxMjI2LDEyMzddLFsxMzkwLDEzODcsMTI1NF0sWzExMjAsMzg0LDgzMF0sWzgzMCwzMzIsODQ2XSxbMTIyNywxNDMsMTI0NV0sWzEzMTUsMTM2OSwxMzU4XSxbMTM1NiwxMjY5LDEzODZdLFs5NzIsNzk1LDQ4OV0sWzE4MzEsMTIyNCwzMTBdLFsxMjUwLDEyNTUsMTI1MV0sWzEyNTEsMTA1NiwxMjQ4XSxbMTI1NiwxMjQzLDEwM10sWzY1OCwzNTgsMTc1XSxbMTYyMCwxMjM4LDEyNDRdLFsxNjIwLDEyNTIsMTIzOF0sWzE1MDYsOTUsMTI1Ml0sWzEwNCwxMjQ5LDEyMzddLFsxMjQ5LDE0MywxMjI3XSxbMTI2OCwxNDE5LDEzMjldLFs2MzQsODA2LDIzMV0sWzYxOCw4MzEsODE1XSxbOTI0LDEyNDIsODM5XSxbMTI1NSwxMjcwLDEyNTFdLFsxMjUxLDEyNzAsMTA1Nl0sWzg2Niw5MjUsMTI0Ml0sWzEwMywyOSwxMjU2XSxbNDI0LDEyNDMsMTI1Nl0sWzEzNCwxNjUxLDc1Ml0sWzEyNTAsOTE3LDEyNTVdLFsxMTcyLDEyMDQsMTI2MF0sWzEzNTIsMTAzNiwxMjc2XSxbMTI2NSwxMjAxLDEzMjldLFs4MDQsMTI4MiwxMjU5XSxbMTI1OSwxMjk0LDcyM10sWzMzNSwxMzMwLDEzMDVdLFs0MDcsNzYyLDc5OV0sWzg3NSw4NTYsMTE5NV0sWzMyLDE1OCwzNDRdLFs5NjcsOTQ0LDc0OV0sWzM3MiwxMjUsNDJdLFsxMTc1LDEzNTQsMTI2MV0sWzU1Myw2MTIsMTIzNV0sWzEyNTksMTI3MywxMjk0XSxbMTI5NCwxMjgzLDcyM10sWzc1Nyw3OCwxNThdLFs0MDcsNzk5LDc5OF0sWzkwMSw1MSw1Ml0sWzEzOSwxMzg2LDEzODldLFsxMzg2LDEyNjksMTM4OV0sWzEzODksMTI2OSwxMjE3XSxbMTE0OCwxNTkwLDEyNjhdLFsxNDI4LDE0NDksMTQ1MF0sWzgwNCwxMjgxLDEyODJdLFsxMjczLDEyNTksMTI4Ml0sWzE1OCwzOTksNzc5XSxbNzcxLDQwNyw3OThdLFs1MjEsMTA5OCwyMzVdLFs5MTcsMTMxMiwxMjU1XSxbMTMxMiwxMjcwLDEyNTVdLFsxMjE3LDEyNjksMTM5M10sWzExOTUsMTEwOCw2MzRdLFsxMTEwLDExMDYsODU2XSxbMTIxMCwxNjkxLDExNzZdLFsyNywxMTEyLDExNDVdLFsxMjk2LDI3LDExNDVdLFsxMTcxLDg1OCw3OTFdLFs3MDQsMTE0OCwxMjkwXSxbMTQzMCwxNDM2LDE0MzddLFsxMjgyLDEzMDgsMTI3M10sWzEzMDAsOTQzLDEyODNdLFsxMzkzLDEzNTUsMTI3NF0sWzcyMCwxMjc4LDc2OV0sWzEyODcsMTA1OSwxMzk5XSxbMTMxMCwxMzg4LDEyNzJdLFsxMzEyLDEzMjEsMTI3MF0sWzg1MSwxMTg1LDExOTBdLFsxMjk2LDExNDUsMTMwNF0sWzI2LDI0LDc3MV0sWzUxLDkxMCw2MzFdLFsxMzI5LDEyOTAsMTI2OF0sWzEyOTAsMTE0OCwxMjY4XSxbMTI5OCwxMjkzLDczM10sWzEyODEsMTI5MywxMjgyXSxbMTI4MiwxMjkzLDEzMDhdLFsxMzA4LDEyOTksMTI3M10sWzEzMDAsMTI4MywxMjk0XSxbMTM0MCw5NDMsMTMwMF0sWzEzNDAsMTMwMSw5NDNdLFs0MDcsNzU0LDc2Ml0sWzEyODcsMTM5OSwxMjk1XSxbMzQsMTM5LDEyOF0sWzEyODgsMTE3MiwxMjYwXSxbMTIwLDExMzMsMTExNF0sWzEzMDYsMTExMywxNTExXSxbMTQ2NCwxMjIzLDEyOTJdLFsxMjk5LDEyOTQsMTI3M10sWzEyOTksMTMwMCwxMjk0XSxbMTI4NiwxMjk1LDgzOF0sWzEyODUsMTI0NywxMjg2XSxbMTI0Nyw3MTMsMTI4Nl0sWzEyMDEsMTI2NSwxMzkwXSxbMTM3OCwxMzY4LDEzNTddLFsxNDgyLDEzMjAsOTE3XSxbOTE3LDEzMjAsMTMxMl0sWzg1MCwxMTU2LDExNTFdLFs1ODgsMzksNDEzXSxbMTMyNCwxMzA2LDY4Nl0sWzc4OSwxMzY1LDkyOF0sWzEyMjMsMTMyNiwxMjkyXSxbMTI5MiwxMzI2LDEyOThdLFs4NjksMTA5NywxMzExXSxbNzkwLDc4Niw1NjFdLFsxMzIzLDEzMDQsOTMyXSxbMTMyMywxMjk2LDEzMDRdLFsxMzE3LDEzMjQsNjg2XSxbMTMwNiwzNjgsMTExM10sWzEzMjUsMTM0MiwxMjIzXSxbMTMyNiwxMzQ4LDEyOThdLFsxMjkzLDEzMjcsMTMwOF0sWzEzMDgsMTMxOCwxMjk5XSxbNzA0LDEyOTAsMTI1OF0sWzEzMjAsMTMyMSwxMzEyXSxbNzYxLDEyMCwxMTE0XSxbMTY4NCw4MDIsODY2XSxbMTY3NCw2LDE3MjddLFsxMzE2LDEzMjMsOTMyXSxbMTMzNSwxMzM3LDEzMDVdLFsxMzQ4LDEzMjcsMTI5M10sWzEyOTgsMTM0OCwxMjkzXSxbMTMzMywxMzAwLDEyOTldLFsxMzMzLDEzNDMsMTMwMF0sWzEzMjgsMTMwMSwxMzQwXSxbMTMyOCwxMzE0LDEzMDFdLFs4MzgsMTM5OSwxMzE5XSxbOTIxLDEyMzcsOTAwXSxbNDA5LDEzOTEsMTQwOF0sWzEzNzYsMTY1Myw2NzddLFsxMjgxLDgwNCwxNDU4XSxbMTMzMSwxMzI0LDEzMTddLFsxMzI0LDM2OCwxMzA2XSxbMzY4LDEzMzgsMTMwN10sWzEzMjcsNzk3LDEzMDhdLFs3OTcsMTM0NSwxMzA4XSxbMTMwOCwxMzQ1LDEzMThdLFsxMzE4LDEzMzMsMTI5OV0sWzEzNDEsMTE0NywxNTcyXSxbOTIzLDEzMjEsMTMyMF0sWzkyMyw5MjAsMTMyMV0sWzM5LDU4OCw4NjZdLFsxMTQxLDEzMjMsMTMxNl0sWzEzMzAsMTMzNSwxMzA1XSxbMTMzNywxMzM1LDEzMzZdLFsxMzM5LDEzMzIsMTMyNV0sWzEyMjMsMTM0MiwxMzI2XSxbMTM0MiwxMzQ4LDEzMjZdLFsxMzQ4LDc5NywxMzI3XSxbMTM0NSwxMzMzLDEzMThdLFsxMzQzLDEzNDAsMTMwMF0sWzE0MTksMTI2NSwxMzI5XSxbMTM0NywxMzIwLDE1ODRdLFsxNTM1LDExNDEsMTMxNl0sWzEwNzgsMTMxMSw1ODJdLFsxMzQ0LDEzMzUsMTMzMF0sWzc1MywxMzMxLDEzMzddLFszNjgsMTMyNCwxMzMxXSxbNzUzLDM2OCwxMzMxXSxbMTMzMiwxNDg1LDEzMjVdLFsxMzI1LDE0ODUsMTM0Ml0sWzc4NywxMzQzLDEzMzNdLFsxMzcsMTMyOCwxMzQwXSxbOTczLDEzNDEsMTQ3OV0sWzQwNiwxMTQ3LDEzNDFdLFsxMTcxLDEyMzQsODU4XSxbMTE0MSwxNTM1LDEzMjJdLFs0OSwxMTQxLDEzMjJdLFsxMzQ0LDEzMzYsMTMzNV0sWzk3Myw5MDgsMTM0MV0sWzc2NiwxMzQ3LDE1ODRdLFsxMzQ3LDkyMywxMzIwXSxbNzgxLDQ5LDEzMjJdLFszNjgsMjMyLDEzMzhdLFs3ODcsMTM0MCwxMzQzXSxbNzg3LDEzNywxMzQwXSxbNTY4LDEzNDYsOTczXSxbNTgsMTE0Nyw0MDZdLFs0NDIsMTMzNCwxMTQ3XSxbNTgsNDQyLDExNDddLFs0NDIsNzY2LDEzMzRdLFs5MCw5MjMsMTM0N10sWzQyOCwzNjgsNzUzXSxbNzc5LDEzMzMsMTM0NV0sWzgyNSw3ODcsMTMzM10sWzEzNywxMzQ5LDEzMjhdLFsxMzI4LDEzNDYsNTY4XSxbOTA4LDQwNiwxMzQxXSxbOTI0LDg2NiwxMjQyXSxbMTMzNiw3NTMsMTMzN10sWzQyOCwyMzIsMzY4XSxbMTExNSw3NzcsMTA5OF0sWzEzNDgsMjgsNzk3XSxbNzk3LDc3OSwxMzQ1XSxbNzc5LDgyNSwxMzMzXSxbMTAwNyw5MDgsOTczXSxbNTgzLDEzNTEsODgwXSxbMTM2NSwxMjQ2LDk3N10sWzE2NTgsMTQ1LDE3MTBdLFsxMzEwLDc5NiwxMzg4XSxbNzE4LDI0NSwxNjVdLFsxMzAyLDEyNzIsMTI1NF0sWzExNzQsMTM1MSw1ODNdLFsxMTc0LDcxNSwxMzUxXSxbMTM1OCwxMjYwLDEyMDRdLFsxMzc0LDEzNzMsMTI3Nl0sWzEzNzcsMTM3NCwxMjc2XSxbNjc4LDEzNjIsMTM4Ml0sWzEzNzcsMTI3NiwyNTRdLFsxMzksMzQsNDBdLFsxMDA4LDExNzQsNTgzXSxbMTM5NiwxMjg2LDEzMTldLFs3NjgsODkxLDQ1N10sWzEzMTYsOTMyLDE1MzVdLFsxMjg5LDEzNzEsMTM2MF0sWzE4Miw3MzYsODY0XSxbMTM1NSwxMzY0LDEyNzRdLFs4NjAsMTM2NywxMzU0XSxbMTM2MiwxMjIyLDEzODJdLFsxMzc2LDg2OSwxMzExXSxbMTU5MCwxNDExLDE5OF0sWzEyMzIsMTM3NSw4NzddLFsxMzk0LDEyOTUsMTI4Nl0sWzg4MCwxMzU2LDEzODZdLFs4ODAsMTM1MSwxMzU2XSxbMTIxMSwxMDU5LDEyODddLFsxOTcsNjc4LDE0MDVdLFs4ODAsMTM4NiwxMDAzXSxbMTM2OCwxMjUzLDEzNTddLFsxMzU3LDEyNTMsMTAzNl0sWzcxNSwxMjg5LDEzNjRdLFsxMzU0LDEzNjcsNzAzXSxbMTM4Myw4NzcsMTM3NV0sWzEyNjYsMTI4OCwxMjYwXSxbMTM3MywxMzc0LDcwM10sWzEzNzIsMTI4OSwxMTc0XSxbMTMwMywxMzY2LDEzNzhdLFsxMzUxLDcxNSwxMzU1XSxbMTY2NSwxNjY2LDYyNF0sWzEzMDksMTM1NywxMDM2XSxbOTAwLDEyMzcsMTIyNl0sWzExNzQsMTI4OSw3MTVdLFsxMzM3LDEzMzEsMTMxN10sWzEzNjAsMTMwMywxMzU5XSxbMTI2NywxMzU0LDExNzVdLFsxMjQxLDEyODQsMTQxNF0sWzEzNzcsMjU0LDkyOV0sWzEzODUsODU1LDgzNl0sWzEzOTYsMTMxOSwxNDM2XSxbMTM2MSwxMzY2LDEzMDNdLFsxMzgxLDEzNjgsMTM3OF0sWzEzMTMsMTIxMSwxMzkxXSxbMTM2OCwxMzg1LDEzNjNdLFs4MTMsODIsODYxXSxbMTA1OCwxMjgwLDgwN10sWzg5Myw1MTksODkyXSxbMTM1OSwxMzAzLDg2MF0sWzEzODIsMTM1MCwxMjQ3XSxbMTM3MSwxMzAzLDEzNjBdLFsxMjY3LDExNzUsMTI3MV0sWzc2OSwxMjg2LDEzOTZdLFs3MTIsMTgzNyw4Ml0sWzEzNjYsMTM4NSwxMzgxXSxbMTM2NSw3OTYsMTMxMF0sWzEwMDMsMTM4Niw0MF0sWzc4MCwxMzcxLDEzNzBdLFs1NjEsODYyLDc5MF0sWzEyODQsMTM4MCw4NjRdLFsxNDQ5LDE0MjgsMTc3XSxbNjExLDEyODAsMTA1OF0sWzEyODQsMTM3NSwxMzgwXSxbOTI2LDUwNiwxMjQxXSxbMTMwNSwxMzM3LDEzMTddLFszMDksMTIwMywyMDhdLFsxMzg4LDEyMDEsMTM5MF0sWzEzMDksMTAzNiwxMzUyXSxbMTM3Nyw5MjksMTQxMV0sWzEzOTksMTA1OSwxMjU3XSxbMTExMiw3MCwxMTQ1XSxbMjg5LDExNjYsNTYxXSxbMTI4OCwxMzg5LDExNzJdLFsxMzYyLDM3LDExODBdLFs3MTMsMTM5NCwxMjg2XSxbMTM1NSwxMzkzLDEyNjldLFsxNDAxLDE0MjMsOTQxXSxbMTI3NCwxMjcxLDEzODRdLFs4NjAsMTM3OCwxMzY3XSxbNzE1LDEzNjQsMTM1NV0sWzY3NywxNDA2LDg2OV0sWzEyOTcsMTM1OCwxMjAyXSxbMTM4OCwxMjU4LDEzMjldLFsxMTgwLDEyODgsMTI2Nl0sWzEwMDgsNTgzLDg4MF0sWzE1MjQsMTQyNSwxNDYzXSxbMTM5MCwxNDAzLDEzODddLFsxMjc4LDEzNzksMTI0N10sWzEyNzgsMTI0NywxMjg1XSxbOTY0LDEyNzgsMTI2Ml0sWzEzNTgsMTM2OSwxMjAyXSxbMTcxNSwxNjk5LDE3MjZdLFs5MjYsMTI0MSwxNDE0XSxbMTM0MSwxNTcyLDE0NzldLFs5MjYsOTMwLDkxNl0sWzEzOTcsNTEsNzgxXSxbNDA5LDEzNTgsMTI5N10sWzEyMzYsNDM2LDMwMV0sWzEzNzYsNjc3LDg2OV0sWzEzNTEsMTM1NSwxMzU2XSxbNzU4LDE1MzQsMTUyM10sWzEzNzgsMTM1NywxMzY3XSxbOTc3LDEyMTEsMTM2NV0sWzExMzUsMTEzNiw4NTRdLFsxMzk0LDEzOTEsMTI5NV0sWzEyNjYsMTI2MCwxMjIyXSxbMTM2NSwxMzAyLDEyNDZdLFsxMjMyLDg3Nyw4NDRdLFs3MzYsOTMwLDg2NF0sWzE0MDgsMTM1OCw0MDldLFsxNTA4LDgxNywxNTIzXSxbMTM4MSwxMzg1LDEzNjhdLFs3MTgsODU0LDkxMF0sWzg1NCw3MTgsMTEzNV0sWzEzODIsMTIyMiwxMzUwXSxbMTM5MSwxMjExLDEyODddLFsxMzkxLDEyODcsMTI5NV0sWzEyNTcsMTY1MSwxMzRdLFsxNDE0LDEyODQsODY0XSxbMTI5MSwxMzY5LDEzMTVdLFsxMjAyLDkyOCwxMzEzXSxbODYsMTQwMCwxNDEzXSxbMTQxMywxMjAwLDg2XSxbMTI2MywxNjI1LDEwMzFdLFsxNDEzLDE0MDAsMTQwNF0sWzEwMDIsMTY2NCwxODM0XSxbOTMwLDkyNiwxNDE0XSxbMTM5OSwxMjU3LDEzNF0sWzUyMCwzMTYsNTk2XSxbMTM5MywxMjc0LDEyMDhdLFsxNjU3LDE2NTUsMTcxMl0sWzE0MDcsMTQwNCwxNDAwXSxbMTQwNCwxNDEwLDE0MTNdLFsxNjQ5LDEyMjksMTQwNl0sWzEzNjIsMTI2NiwxMjIyXSxbMTM4NCwxMjcxLDExNzVdLFs5MDAsMTM3NiwxMzExXSxbMTI3NCwxMzg0LDEyOTFdLFsxMjkxLDEzODQsMTQzMV0sWzE0MzMsMTM5NiwxNDM2XSxbMTI2NywxMzU5LDEzNTRdLFszMDksMTM1Myw3MDNdLFs4MzgsMTMxOSwxMjg2XSxbMTQwNywxNDEwLDE0MDRdLFs0NDEsMTUxOCw3NzNdLFsxMjQxLDEyMywxNDI4XSxbMTYyMiwxNTIxLDEyMjRdLFsxMjE3LDEyMDgsMTE3Ml0sWzExMzAsNzkzLDEwNzZdLFs0MjUsMTQwOSwxNDgxXSxbMTQ4MSwxNDA5LDE1MzNdLFsxMzAzLDEzNzgsODYwXSxbMTM1MCwxNDA4LDEzOTRdLFsxMjQ2LDE2NTEsOTc3XSxbMTI4OSwxMzYwLDEzNjRdLFsxNzI3LDE2OTQsMTYyM10sWzE0MTcsMTQwNywxNTMzXSxbMTQxNywxNDEwLDE0MDddLFsxNDA2LDE2NTAsMTY0OV0sWzEzMTksMTM0LDE0MzddLFsxNDE0LDg2NCw5MzBdLFsxNDA2LDEyMjksMTEyNF0sWzEzNTQsMTM1OSw4NjBdLFsxNDMzLDc2OSwxMzk2XSxbMTQxNywxNTMzLDE0MDldLFsxNDE2LDE0MTMsMTQxMF0sWzE0MTUsMTQxNiwxNDEwXSxbOTUsMTIzNyw5MjFdLFsxMzkyLDEyNTQsMTM5NV0sWzEzNjAsMTM1OSwxMjY3XSxbMTI1OCwxMjkwLDEzMjldLFsxMTgwLDEyOCwxMzg5XSxbMTQyMCwxNDA5LDQyNV0sWzE0MTcsMTQxOCwxNDEwXSxbMTQxOCwxNDE1LDE0MTBdLFsxNDIyLDEwNzcsMTQxNl0sWzEyNDcsMTM1MCwxMzk0XSxbMzcsNDMsMTE4MF0sWzEyMDQsMTMxNSwxMzU4XSxbMTQyOCwxMzgzLDEzNzVdLFsxMzU2LDEzNTUsMTI2OV0sWzE0MDksMTQxOCwxNDE3XSxbMTMwMiw0NSwxMjQ2XSxbMTQyMSwxNDE2LDE0MTVdLFsxNDIxLDE0MjIsMTQxNl0sWzE0MjIsMTQ5NCwxMDc3XSxbOTU3LDcyMCw5MzhdLFsxNDIzLDE0MDksMTQyMF0sWzE0MjMsMTQxOCwxNDA5XSxbNzUyLDQzNCwxNDM4XSxbMTI2MCwxMzU4LDE0MDhdLFsxMzYzLDEzODUsNzg1XSxbMTQyMywxNDI2LDE0MThdLFsxNDI2LDE0MjQsMTQxOF0sWzEyMjksMTY0OSwxMTI0XSxbMTIyMiwxMjYwLDEzNTBdLFsxNTA4LDE1MjMsMTEzN10sWzEyNzgsMTI4NSw3NjldLFsxNDgyLDkxNywxNDRdLFsxNDE4LDE0MjQsMTQxNV0sWzE0MjUsMTQyMiwxNDIxXSxbMTQyNSwxNTI0LDE0MjJdLFsxMjcyLDEzODgsMTM5MF0sWzEzOTEsNDA5LDEzMTNdLFsxMzc4LDEzNjYsMTM4MV0sWzEzNzEsNDgzLDEzNjFdLFs3MjAsMTI2MiwxMjc4XSxbMjksMTAzLDE1OV0sWzEyNzEsMTM2NCwxMjY3XSxbMTQyNCwxNDI3LDE0MTVdLFsxNTM3LDE1MjIsMTUxOF0sWzEzNCw3NTIsMTQzOF0sWzE0MjAsOTM0LDk0MV0sWzE0MjgsMTM3NSwxMjg0XSxbMTI3NywxMjI0LDE4MzFdLFsxMzYyLDExODAsMTI2Nl0sWzE0MDEsMTQyNiwxNDIzXSxbMTU3NywxMzY5LDEyOTFdLFsyNjgsNDgzLDI2Ml0sWzEzODMsMTQ1MCwxNDU2XSxbMTM4NCwxMTc1LDE0MzFdLFsxNDMwLDE0MTUsMTQyN10sWzE0MzAsMTQyMSwxNDE1XSxbMTQzMCwxNDI1LDE0MjFdLFsxMzc5LDEzODIsMTI0N10sWzEyNTIsMTU1MywxNDI5XSxbMTIwNiwxMzkyLDEzOTVdLFsxNDMzLDE0MzAsMTQyN10sWzMwOSwyMDgsMTM1M10sWzEyNzIsMTM5MCwxMjU0XSxbMTM2MSw0ODMsMTM2Nl0sWzE1MjMsODE3LDgwOF0sWzEzMDIsMTI1NCwxMzkyXSxbMTM3MSwxMzYxLDEzMDNdLFsxNDI2LDE0MzUsMTQyNF0sWzE0MzUsMTQzMywxNDI0XSxbMTQzMywxNDI3LDE0MjRdLFs3MjAsNzY5LDE0MzNdLFs3OTYsMTI1OCwxMzg4XSxbMTU5MCwxNDE5LDEyNjhdLFsxMjg5LDEzNzIsMTM3MV0sWzEzMDUsMTMxNywxNTA5XSxbOTk4LDEzNzIsMTE3NF0sWzQwLDEzODYsMTM5XSxbMTI2MSwxMzU0LDcwM10sWzEzNjQsMTI3MSwxMjc0XSxbMTM0LDE0MzgsMTQzN10sWzE0MzYsMTMxOSwxNDM3XSxbMTMxNyw2ODYsMTUwOV0sWzE0ODQsOTMyLDEzMDRdLFsxNDM0LDE0MzIsMTUwOV0sWzE0MjAsNjUsOTM0XSxbOTMxLDkzMCw3MzZdLFsxMzY3LDEzNTcsMTMwOV0sWzEzNzIsMTM3MCwxMzcxXSxbMTIwNCwxMjA4LDEzMTVdLFsxNDI2LDkzOCwxNDM1XSxbMTM2OCwxMzYzLDEyNTNdLFsxMjA3LDQ1NCwxMTkwXSxbMTMwMiwxMzEwLDEyNzJdLFszMDksMTM3NywzOTBdLFszOTAsMTM3NywxNDExXSxbMTM3MCwxMzcyLDk5OF0sWzE0MTEsMTU5MCwxMTQ4XSxbNzIwLDE0MzMsMTQzNV0sWzE0NTAsMTM4MywxNDI4XSxbMTM3OSw2NzgsMTM4Ml0sWzE0MDUsNjc4LDEzNzldLFsxMjA4LDEyOTEsMTMxNV0sWzEzOTksMTM0LDEzMTldLFsxMzY3LDEzMDksMTM3M10sWzEzNzMsMTM1MiwxMjc2XSxbNTk2LDc0MSw1OTNdLFs1NTMsMTI2NCw2MTJdLFsxNDMzLDE0MzYsMTQzMF0sWzE0MzcsMTQzOCwxNDMwXSxbOTY0LDE0MDUsMTM3OV0sWzEzNzMsMTMwOSwxMzUyXSxbMTI2NSwxNDAzLDEzOTBdLFsxMjMzLDE2MTgsMTQzNF0sWzEzNjUsMTMxMCwxMzAyXSxbNzg5LDc5NiwxMzY1XSxbNzIwLDE0MzUsOTM4XSxbMTI4LDEzOSwxMzg5XSxbMTQ2Niw5MzMsMTUyNV0sWzExOTEsMTY0MCwxNjM3XSxbMTMxNCwxNDQyLDk0M10sWzExNDEsMzUzLDEzMjNdLFsxNDg5LDExMzgsMTQ3NF0sWzE0NjIsMTQ3NywxNDQwXSxbMTQ3NCwxMTM4LDE0ODhdLFsxNDQyLDEzMTQsMTQ0M10sWzE0NDYsMTAzMCwxNTQ2XSxbMTQ4NCwxMTQ1LDY5N10sWzE1NDksMTQ0MywxNDQ1XSxbMTQ3MCwxNTcyLDE0NjhdLFsxMzk3LDEyMzksMTUwN10sWzE2NDksMTgyNSwxODI0XSxbMTI1OSwxNDQwLDE0NzddLFsxNDUxLDE0NTAsMTQ0OV0sWzk3OCwxNDQ2LDY1Ml0sWzE0NTQsMTQ1NiwxNDUxXSxbMTQ1MSwxNDU2LDE0NTBdLFszNDEsMTUwNyw1OTVdLFs5MzMsMTU0Nyw3OV0sWzgwNCwxNDUyLDEwNjBdLFsxNDU0LDE0NTUsMTQ1Nl0sWzEzOTgsMTQ2MCwxNDU0XSxbMTQ1NSw4NzcsMTQ1Nl0sWzEyNzcsMTgzMSwxODI1XSxbODA0LDEwNjAsMTQ1OF0sWzEzMzksMTQ1OSwxNTk1XSxbMTMxNCwxMTA0LDE0NDNdLFs5MzMsMTQ0OCwxNTQ3XSxbMTQ3LDE0NjAsMTM5OF0sWzE0NjAsMTQ2MSwxNDU0XSxbMTQ1NCwxNDYxLDE0NTVdLFsxMjkyLDExMjUsMTQ2NF0sWzQxNywxNTMxLDE0ODBdLFsxNDU5LDEzMzksMTMyNV0sWzgxMSwxNzU2LDMzNV0sWzE1MTIsOTM2LDE0OTBdLFs3NzcsMTUyOSwxMDk4XSxbMTQ3LDE0NzUsMTQ2MF0sWzE0NjQsMjUzLDE0NTldLFs4MzYsODU1LDQ4Ml0sWzE0ODcsMTQ4NiwxMzA3XSxbMTEwNCwxNTAxLDE0NDNdLFsxNDM5LDEyMDAsMTUzMl0sWzE0NzUsMTQ2OSwxNDYwXSxbMTQ2MCwxNDY5LDE0NjFdLFsxMzI1LDE0NjQsMTQ1OV0sWzEyNzcsMTgyNSwxNjQ5XSxbMTUzMiwxMjAwLDEwNzddLFs4NDQsODc3LDE0NTVdLFsxNTcyLDkzMywxNDY2XSxbMTQ3OSw1NjgsOTczXSxbMTUwOSwzMzUsMTMwNV0sWzEzMzksMTU5NSwxNzU5XSxbMTQ2OSwxNDc2LDE0NjFdLFsxNDYxLDE0NzYsMTQ1NV0sWzExMDQsMTQ3MCwxNDY4XSxbMTQ2NCwxNDcyLDI1M10sWzExMTcsMTA5MSwxNDA3XSxbMTc1NiwxNTQyLDMzNV0sWzEyMDYsMTM5NSwxMTg4XSxbMzM1LDE1NDIsMTMzMF0sWzgzNSw4NDQsMTQ1NV0sWzE0NzEsMTU5OCwxNDYyXSxbMTQ5MSwxNDQyLDE0NDFdLFs4MzUsMTQ1NSwxNDc2XSxbMTQ0MSwxNDQyLDE0NDNdLFsxNDg5LDE0NzQsMTQ3M10sWzEyNTEsMTIzNiwxMjUwXSxbMTAzMCwxNDUyLDE0NzddLFsxNTk4LDE0MzksMTUzMl0sWzk3OCwxNTk4LDE0OTJdLFsxNDI2LDE0MDEsOTM4XSxbMTQ0OCwxNTg0LDE0ODJdLFsxNzI0LDE0OTcsMTQ3NV0sWzE0NzUsMTQ5NywxNDY5XSxbMTQ4NCwxNTM1LDkzMl0sWzEzMDcsMTQ4NiwxMTEzXSxbMTQ4Nyw2OTYsMTQ5NV0sWzEwMzcsMTQ5MSwxNDQxXSxbMTAzMCwxNDQ2LDkzNl0sWzE0NTMsMTQ4NywxNDk1XSxbNjk2LDE0NjcsMTQ5NV0sWzExMzgsMTQ4OSwxNDgzXSxbMTQ5NywxMTQzLDE0NjldLFsxNDY5LDExNDMsMTQ3Nl0sWzY1MiwxNTk4LDk3OF0sWzg1MCwxMDQzLDExNTBdLFsxNDgyLDE1ODQsMTMyMF0sWzE3MzEsOTgsMTY5N10sWzExMTMsMTU1NCwxNTczXSxbMTUyNCwxNTMyLDE0OTRdLFsxNDk2LDE0NjcsNjk2XSxbMTQ1MiwxMjU5LDE0NzddLFsyOTYsMTUwNCwxNDk3XSxbMTUwNCwxMTQzLDE0OTddLFsxMTQzLDE0OTksMTQ3Nl0sWzcxOCw5MTAsMTQ5OF0sWzg2OCwxNTQwLDE1MjhdLFs4MTcsMTI1Myw4MTBdLFsxNDkwLDY5NiwxNDg3XSxbMTQ0MCwxNDkxLDEwMzddLFsxNTEwLDY3Niw1OTVdLFsxNDg4LDE0OTIsMTUxN10sWzc4MSwxMjM5LDEzOTddLFsxNDY3LDE1MTksMTUwM10sWzE1MDAsMTMwNywxNzU5XSxbMTE0OSwzOTcsNDUyXSxbMTUwNCwxNTE0LDExNDNdLFsxNTE0LDg0MiwxMTQzXSxbMTEyNSw3MzMsMTQ1OF0sWzE1MDMsMTUzMSwxNTU1XSxbMTI3NiwxMDM2LDExMzddLFsxNDQwLDcyMywxMTIzXSxbMTAzNiwxNTA4LDExMzddLFs4MTcsMTUwOCwxMjUzXSxbMTAzLDg4MywxMTEyXSxbMTQ1OCw3MzEsMTQ3Ml0sWzE1MTIsMTQ5MCwxNDg3XSxbMTQ4NywxNDUzLDE0ODZdLFsxMTM4LDk3OCwxNDg4XSxbMTAzNiwxMjUzLDE1MDhdLFsxMzk4LDE0OSwxNDddLFsxNDc0LDE1MTcsMTUxM10sWzExMjUsMTQ1OCwxNDcyXSxbMTQ4NiwxNDUzLDE1NTRdLFsxNTE4LDE1MzQsNzU4XSxbMzQ1LDEwNTgsMTA2Ml0sWzkyOCwxMjAyLDEzNjldLFsxNTU0LDE1NDEsMTUwNV0sWzE0NjQsMTEyNSwxNDcyXSxbMTUwNCw3NjQsMTUxNF0sWzMwNCw0MjYsNTczXSxbMTUwNSw3NDIsMTUwNl0sWzE0NzksMTU3MiwxNDc4XSxbMTUxOSwxNDgzLDE0ODldLFs4MzMsNzE2LDEwNjldLFsxNTIyLDE1MzQsMTUxOF0sWzExMTUsMTUxMyw3NzddLFs4MTEsMzM1LDE0MzJdLFsxNTkxLDE1MzMsMTQwN10sWzc3NywxNTE3LDE1MjldLFsxNTEzLDE1MTcsNzc3XSxbMTQ5OCw5MTAsMTM5N10sWzEwNjksMTUzOSw4MzNdLFs4MzMsMTUzOSwxNTM3XSxbMTUyMiwxNTUxLDE1MzRdLFsxNTM0LDE1NTEsMTUyM10sWzE1MzgsMTEzNywxNTIzXSxbOTEwLDUxLDEzOTddLFsxMzY3LDEzNzMsNzAzXSxbMTQ2NiwxNTI1LDE0NjhdLFsxNTcsMTE4NiwxODMyXSxbMTQyOSwxNTExLDE1MDZdLFsxNTczLDE1MDUsMTUwNl0sWzEyNTksMTQ1Miw4MDRdLFsxNTAzLDE0OTUsMTQ2N10sWzI2Miw0ODMsNzgwXSxbMTU3MiwxNDY2LDE0NjhdLFsxNTM2LDE1NTYsNzE2XSxbNzE2LDE1NTYsMTA2OV0sWzE1NDQsMTUyMywxNTUxXSxbMTU0NCwxNTM4LDE1MjNdLFsxNTExLDE1NzMsMTUwNl0sWzkzMywxNTcyLDE0NDhdLFsxNTQzLDE1MzcsMTUzOV0sWzE1MzcsMTU0MywxNTIyXSxbMTA5MSw5MzMsNzldLFsxNTE5LDE1NDAsMTU0NV0sWzE1NDksMTQ0NSw4Nl0sWzEwNjksMTU0OCwxNTM5XSxbMTU0OCwxNTQzLDE1MzldLFsxNTQzLDE1NTEsMTUyMl0sWzE1MDAsMTQ4NywxMzA3XSxbNjgsNzg0LDExODZdLFsxNTUyLDE1NDQsMTU1MV0sWzE1NTAsMTUzOCwxNTQ0XSxbMTUzOCwxNTUwLDExMzddLFsxNTE5LDE0NzMsMTU0MF0sWzE1NDcsMTQ0OCwxNDgyXSxbMTU2MCwxNTYzLDE1MzZdLFsxNTM2LDE1NjMsMTU1Nl0sWzE1NTYsMTU0OCwxMDY5XSxbMTU0MywxNTU4LDE1NTFdLFsxMTM3LDE1NTAsMTI3Nl0sWzE0NTMsMTQ5NSwxNTU1XSxbMTU2MSwxNTQzLDE1NDhdLFsxNTQzLDE1NjEsMTU1OF0sWzE1NTgsMTU2NiwxNTUxXSxbMTU1MiwxNTUwLDE1NDRdLFsxNTY5LDE1NTcsMTU1MF0sWzE1NTcsMTI3NiwxNTUwXSxbMTI3NiwxNTU3LDI1NF0sWzE1MzEsMTUwMywxNDgwXSxbMTUzNSwxNTMwLDE1MTBdLFsxNTQ1LDE1MDMsMTUxOV0sWzE1NDcsMTQ4Miw3OV0sWzE1NjYsMTU1MiwxNTUxXSxbMTU1MiwxNTY5LDE1NTBdLFsxNTAzLDE1NDUsMTQ4MF0sWzcwMywxMzc3LDMwOV0sWzE2MjUsNjc1LDc1Nl0sWzEwMzcsMTQ0MSw4OF0sWzkyOSwyNTQsMTU1N10sWzg0OSwxNTY3LDE1NjBdLFsxNTU2LDE1NjQsMTU0OF0sWzE0OTIsMTUyOSwxNTE3XSxbMTI1MiwxNDI5LDE1MDZdLFsxNTUzLDEwMjcsMTQyOV0sWzE0NTMsMTU1NSwxNTQxXSxbMTU1NCwxNDUzLDE1NDFdLFsxMjMzLDY4NiwxNTUzXSxbMTMyOCwxMTA0LDEzMTRdLFsxNTY0LDE1NzYsMTU0OF0sWzE1NDgsMTU3NiwxNTYxXSxbMTU1NywxNTYyLDkyOV0sWzE1MjAsMTEyLDE2NjhdLFsxNDgzLDE0NDYsMTEzOF0sWzc3OCwxNTcwLDE1NjddLFsxNTYzLDE1NjQsMTU1Nl0sWzE1NjEsMTU2NSwxNTU4XSxbMTU2NSwxNTY2LDE1NThdLFsxNTY5LDE1NTIsMTU2Nl0sWzE1NjIsMTU1NywxNTY5XSxbMTUzMCwxNTM1LDE0ODRdLFsxMzg3LDE0MDIsMTM5NV0sWzE2MjEsMTYzNCwxMzg3XSxbMTU2NywxNTY4LDE1NjBdLFsxNTYwLDE1NjgsMTU2M10sWzE1NzEsMTU2OSwxNTY2XSxbMTM0NCwxMzMwLDE1NDJdLFsxNTc3LDE0MzEsMTM1M10sWzE2MzgsMjMzLDMwNF0sWzE1MjQsMTQ2MywxNTI5XSxbMTM1MywxNDMxLDExNzVdLFsxMDc3LDEyMDAsMTQxM10sWzE0NzgsMTQ3MCwxMTA0XSxbMTU2OCwxNTc1LDE1NjNdLFsxNTYzLDE1NzUsMTU2NF0sWzE1NzUsMTU3NiwxNTY0XSxbMTU2MSwxNTc2LDE1NjVdLFsxNTY1LDE1NzQsMTU2Nl0sWzE1NjIsMTUxNSw5MjldLFsxNTU1LDk2LDE1NDFdLFsxNTMxLDQxNyw5Nl0sWzE1NTUsMTUzMSw5Nl0sWzEyNDYsNDUsMTY1MV0sWzIwOCwxNTc3LDEzNTNdLFsxNTg2LDE1NjgsMTU2N10sWzE1NzQsMTU3MSwxNTY2XSxbMTU3MSwxNTgzLDE1NjldLFsxNDc0LDE1MTMsMTUyOF0sWzEyMzksMTMyMiwxNTM1XSxbMTQ3OCwxNTcyLDE0NzBdLFsxNTcwLDE1ODYsMTU2N10sWzE0ODgsMTUxNywxNDc0XSxbOCwxODMzLDE4MzddLFsxMTIzLDE0NDIsMTQ5MV0sWzE1ODksMTU2OCwxNTg2XSxbMTU3NiwxNTk0LDE1NjVdLFsxNTY1LDE1OTQsMTU3NF0sWzE1NjIsMTk4LDE1MTVdLFsxNTU5LDE0NDEsMTU0OV0sWzE0NDEsMTQ0MywxNTQ5XSxbMTEzNSw0MjUsMTQ4MV0sWzEyMzksMTUzNSwxNTA3XSxbMTU5NSwxNDg3LDE1MDBdLFsxNTcwLDE1ODUsMTU4Nl0sWzE1ODksMTU3OCwxNTY4XSxbMTU2OCwxNTc4LDE1NzVdLFsxNTc5LDE1NjksMTU4M10sWzExNzcsMTU3NywyMDhdLFsxMTUsMTIzNiwxMTBdLFsxNTc4LDE1OTMsMTU3NV0sWzE1ODcsMTU3NiwxNTc1XSxbMTU3NiwxNTgxLDE1OTRdLFsxNTcxLDE1ODIsMTU4M10sWzE1ODgsMTU3OSwxNTgzXSxbMTU3OSwxNTgwLDE1NjJdLFsxNTY5LDE1NzksMTU2Ml0sWzE1NjIsMTU4MCwxOThdLFsxMDI3LDE1MTEsMTQyOV0sWzE1ODksMTU5MywxNTc4XSxbMTU4NywxNTgxLDE1NzZdLFsxNTgyLDE1NzQsMTU5NF0sWzE1NzQsMTU4MiwxNTcxXSxbMTU3NSwxNTkzLDE1ODddLFsxNTgzLDE1ODIsMTU4OF0sWzE1ODAsMTU5MCwxOThdLFsxNTg3LDE1OTMsMTU4MV0sWzE1MDUsMTU0MSw5Nl0sWzEzNjksMTU3NywxMTc3XSxbMTU3MywxNTU0LDE1MDVdLFsxNDc5LDE0NzgsNTY4XSxbMTU4NSwxNTg5LDE1ODZdLFsxMzY5LDExNzcsNzA0XSxbNzY2LDE1ODQsMTMzNF0sWzk3NywxMjU3LDEwNTldLFsxMDkxLDE1OTEsMTQwN10sWzE1OTEsMTA5MSwxNDU3XSxbMTU4NSwxNjA0LDE1ODldLFsxNTgxLDE1OTIsMTU5NF0sWzE2MDIsMTU4MiwxNTk0XSxbMTU4MiwxNjA4LDE1ODhdLFsxNjA4LDE1NzksMTU4OF0sWzE1NzksMTU5NywxNTgwXSxbMTQxOSwxNTkwLDE1ODBdLFsxNTk3LDE0MTksMTU4MF0sWzE0MzEsMTU3NywxMjkxXSxbMTU4OSwxNjA0LDE1OTNdLFsxNjAxLDE1OTYsMTU5M10sWzE1OTMsMTU5NiwxNTgxXSxbMTMwNiwxNTExLDEwMjddLFsxNTExLDExMTMsMTU3M10sWzE3ODYsMTQxMiwxNTg1XSxbMTQxMiwxNjA0LDE1ODVdLFsxNTgxLDE1OTYsMTU5Ml0sWzE1OTIsMTYwMiwxNTk0XSxbMTYwOCwxNTk5LDE1NzldLFsxNTk5LDE2MTEsMTU3OV0sWzE1NzksMTYxMSwxNTk3XSxbMTUxMiwxNDg3LDI1M10sWzE1MTksMTQ4OSwxNDczXSxbMTU0NSwxNTQwLDg2OF0sWzEwODMsMTE4NywxNDAyXSxbMTExNywxNDA3LDE0MDBdLFsxMjkyLDczMywxMTI1XSxbMjg0LDEyNDAsMTI0NV0sWzE2MDQsMTYwMCwxNTkzXSxbMTYwMCwxNjAxLDE1OTNdLFsxNTgyLDE2MDcsMTYwOF0sWzc4OSwxMzY5LDcwNF0sWzE0NjcsMTQ4MywxNTE5XSxbMTYwMSwxNjEzLDE1OTZdLFsxNTk2LDE2MTMsMTU5Ml0sWzE2MDIsMTYwNywxNTgyXSxbMTYyMCwxNTUzLDEyNTJdLFsxNjAxLDE2MDUsMTYxM10sWzE1OTIsMTYxMywxNjAyXSxbMTYwMiwxNjA2LDE2MDddLFsxNjA4LDE2MDksMTU5OV0sWzE1OTksMTYwOSwxNjExXSxbMTYwMywxNTk3LDE2MTFdLFsxMjY1LDE0MTksMTU5N10sWzE2MDMsMTI2NSwxNTk3XSxbMTM5MiwxMjA2LDQ1XSxbOTI4LDEzNjksNzg5XSxbMTQ3NCwxNTI4LDE0NzNdLFsxMTA0LDE0NjgsMTUwMV0sWzE0MTIsMTUyMSwxNjA0XSxbMTYxMywxNjMxLDE2MDJdLFsxNjA3LDE2MTAsMTYwOF0sWzE2MDgsMTYxMCwxNjA5XSxbMTQ3Niw4NjMsODM1XSxbMTQ5NSwxNTAzLDE1NTVdLFsxNDk4LDEzOTcsNzE4XSxbMTUyMCwxNjY4LDddLFsxNjA0LDE2MTUsMTYwMF0sWzE2MDUsMTYwMSwxNjAwXSxbMTYwMiwxNjMxLDE2MDZdLFsxNjA2LDE2MTAsMTYwN10sWzE3NTksMTU5NSwxNTAwXSxbMTI5MiwxMjk4LDczM10sWzE2MTUsMTYwNCwxNTIxXSxbMTYwOSwxNjAzLDE2MTFdLFs2NTIsMTQ2MiwxNTk4XSxbMTQ2OCwxNTI1LDE0NDVdLFsxNDQzLDE1MDEsMTQ0NV0sWzExMzQsMTcyMywxNTBdLFsxNTIxLDE2MjIsMTYxNV0sWzE2MTUsMTYxNiwxNjAwXSxbMTYxNiwxNjA1LDE2MDBdLFsxNjA1LDE2MTYsMTYxMl0sWzE2MDUsMTYxMiwxNjEzXSxbMTYxMiwxNjE3LDE2MTNdLFsxNjEzLDE2MTcsMTYzMV0sWzE2MDYsMTYxNCwxNjEwXSxbMTI2NSwxNjAzLDE0MDNdLFs0NDgsNDE3LDE0ODBdLFsxNTk1LDI1MywxNDg3XSxbMTUwMSwxNDY4LDE0NDVdLFsxMzgzLDE0NTYsODc3XSxbMTQ5MCwxNDk2LDY5Nl0sWzE2MTAsMTYyNywxNjA5XSxbMTYyNywxNjIxLDE2MDldLFsxNTkxLDE0ODEsMTUzM10sWzE1OTgsMTQ3MSwxNDM5XSxbMTM1MywxMjYxLDcwM10sWzE2MDYsMTYzMSwxNjE0XSxbMTYwOSwxNjIxLDE0MDNdLFsxNTMyLDEwNzcsMTQ5NF0sWzE1MjgsMTExNSw1MTNdLFsxNTQ2LDY1MiwxNDQ2XSxbMTIxMSw5MjgsMTM2NV0sWzE1NDAsMTQ3MywxNTI4XSxbMTA3OCwxNTAyLDE3ODddLFsxNDI1LDE0MzAsMTQzOF0sWzE2MTcsMTYzMCwxNjMxXSxbOTU5LDc0OSw5NDRdLFs1NjYsNTcwLDYwM10sWzE3MTYsMzEwLDE1MjFdLFs3NzUsNDUyLDM5N10sWzE2MTUsMTYzNiwxNjE2XSxbMTYxNiwxNjM2LDE2MTJdLFsxNjEwLDE2MzIsMTYyN10sWzc4OSw3MDQsMTI1OF0sWzE0NTcsMTQ4MSwxNTkxXSxbMTc2OSwxNzU2LDgxMV0sWzIwNywxNjI5LDcyMl0sWzE2MjksMTYyNSw3MjJdLFsxMjI0LDEyNzcsMTYyMl0sWzE2MjIsMTYzNiwxNjE1XSxbMTYzNiwxNjQ2LDE2MTJdLFsxNjEyLDE2MzAsMTYxN10sWzE2MzEsMTYyNiwxNjE0XSxbMTYxNCwxNjMyLDE2MTBdLFsxNTA2LDEwNCw5NV0sWzE0ODEsMTQ1NywxMTM2XSxbMTEyMyw5NDMsMTQ0Ml0sWzkzNiwxNDQ2LDE0OTZdLFsxNDk5LDg2MywxNDc2XSxbMTYyOSwxMDMxLDE2MjVdLFsxMjMzLDE1MDksNjg2XSxbMTYzMywxNjM0LDE2MjFdLFsxNjIxLDEzODcsMTQwM10sWzE0NzIsMTUxMiwyNTNdLFsxMTc3LDIwOCw3MDRdLFsxMjc3LDE2MzYsMTYyMl0sWzE2MjYsMTYzMiwxNjE0XSxbMTYyNywxNjMzLDE2MjFdLFs5MzYsMTQ5NiwxNDkwXSxbMTg1LDE0NTQsMTQ1MV0sWzczMSw5MzYsMTUxMl0sWzE2MzgsMTYzNSwyMDddLFs1NTMsMTI2MywxMjY0XSxbMTY1MywxMjEyLDE2MzldLFsxNjMzLDE2MjcsMTYzMl0sWzE2MzMsMTM4NywxNjM0XSxbMTQ1OCwxMDYwLDczMV0sWzM2OCwxMzA3LDExMTNdLFsxMjY0LDEwMzEsMTYyOV0sWzExNTIsODUwLDExNTBdLFsxMjc3LDE2NDQsMTYzNl0sWzE2NDYsMTYzNywxNjEyXSxbMTYzNywxNjMwLDE2MTJdLFsxNjQ3LDE2MzEsMTYzMF0sWzE2NDcsMTYyNiwxNjMxXSxbMTQyMiwxNTI0LDE0OTRdLFsxMDMwLDY1MiwxNTQ2XSxbMTYzNSwxNjI5LDIwN10sWzE2MzUsMTI2NCwxNjI5XSxbMTYzOSwxNjQ2LDE2MzZdLFsxNjM3LDE2NDAsMTYzMF0sWzE2NDEsMTYzMiwxNjI2XSxbMTYzMiwxNjQyLDE2MzNdLFsxNjMzLDE2NDMsMTM4N10sWzg0MiwxNDk5LDExNDNdLFs4NjUsODYzLDE0OTldLFsxNTE2LDk3OCwxNDkyXSxbNjcsMTEzMCw3ODRdLFsxMTAzLDE1MDUsOTZdLFs4OCwxNDQxLDEyMDBdLFsxNjQ0LDE2MzksMTYzNl0sWzE2NDAsMTY0NywxNjMwXSxbMTY0NywxNjQxLDE2MjZdLFsxNjMzLDE2NDgsMTY0M10sWzE0OTIsMTUzMiwxNTI0XSxbMTQ4OCwxNTE2LDE0OTJdLFsxMDM3LDE0NzEsMTQ2Ml0sWzYxMiwxMjY0LDE2MzVdLFsxNTAyLDEwNzgsMTEyNF0sWzE2NDEsMTY0MiwxNjMyXSxbMTY0OCwxNjMzLDE2NDJdLFsxNTI4LDUxMyw4NjhdLFsxNDkyLDE1OTgsMTUzMl0sWzEwOTUsOTkxLDc2MF0sWzY3OSwxNTcsMTY2NF0sWzc2MCwxMTI4LDE3ODVdLFsxMjc3LDE2NTAsMTY0NF0sWzMyMCwxMDIyLDI0NF0sWzE1NTksMTU0OSw4Nl0sWzE2NzYsMTUyMCw3XSxbMTQ4OCw5NzgsMTUxNl0sWzEwOTUsNzYwLDE3ODVdLFsxMTI4LDM4NCwxMTIwXSxbMzA0LDMxMiwxNjM4XSxbMTA4MSwxNjM4LDMxMl0sWzEwODEsMTYzNSwxNjM4XSxbMTAzLDYxMiwxNjM1XSxbNjUyLDE0NzcsMTQ2Ml0sWzE2NTAsMTY0NSwxNjQ0XSxbMTY0NSwxNjM5LDE2NDRdLFsxNjM5LDE2MzcsMTY0Nl0sWzE2NDAsMTA5MCwxNjQ3XSxbMTY1NCwxNjQxLDE2NDddLFsxNjU0LDE2NDIsMTY0MV0sWzE2NTQsMTY0OCwxNjQyXSxbMTY0MywxNDAyLDEzODddLFsxNDMyLDMzNSwxNTA5XSxbMzg0LDExMjgsNzYwXSxbMTY1MiwzMTIsMzA0XSxbMTAzLDEyNDMsNjEyXSxbMTI3NywxNjQ5LDE2NTBdLFsxMDkwLDE2NTQsMTY0N10sWzE2NDMsMTY0OCwxNDAyXSxbMTEzNCwzMjQsMTY3NV0sWzY3OSw2OCwxNTddLFsxNjUyLDEwODEsMzEyXSxbMTEzNiwzMDEsODAzXSxbMTY1MywxNjM5LDE2NDVdLFs3MjMsMTQ0MCwxMjU5XSxbODAzLDg1NCwxMTM2XSxbMTA0LDE1MDYsNzQyXSxbMTExMiwxNTksMTAzXSxbMTY1NCwxMDgzLDE2NDhdLFs5NzcsMTY1MSwxMjU3XSxbMTM5NywxNTA3LDcxOF0sWzEwODEsMTAzLDE2MzVdLFsxNjUwLDY3NywxNjQ1XSxbMTA4MywxNDAyLDE2NDhdLFsxNzA2LDE2NTUsMTY3MV0sWzE2MjQsMTcwNCwxNzExXSxbNzY3LDIsMV0sWzYwOCw3OTQsMjk0XSxbMTY3OCwxNjgzLDE2ODZdLFs3NjcsMTY4MiwyXSxbMTY2OSwxNjkyLDE2NzVdLFsyOTYsMTY4MSw3NjRdLFsxNjcxLDE2NTYsMTY3Ml0sWzE3LDE2NzMsMTY3OV0sWzE3MDYsMTY3MSwxNjczXSxbMTY2MiwxNjc0LDE2OTldLFsxNjU1LDE2NTcsMTY1Nl0sWzQxOCw4NCw5MTVdLFsxNTI2LDE1MTQsNzY0XSxbMTY1OCwxNjU3LDU2N10sWzg3MCwxNjk1LDc2NF0sWzgxMywxNjk3LDk4XSxbMTY1OSw4MjEsNV0sWzYwLDEwMTMsODQ4XSxbMTAxMywxMTAsMTIxM10sWzY2MSwxMDM4LDE2OTJdLFsxNjYwLDE3MDMsMTddLFsxNjkzLDE2NzMsMTddLFsxNjYzLDE3MTUsMTc0M10sWzEwMTMsMTE1LDExMF0sWzM0NCwxNzMzLDMyXSxbMTY3MCwxNjYzLDE3NDNdLFsxNjcwLDE3NDMsMTczOF0sWzE2NzcsMTY3MCwxNzM4XSxbMTY2MSw0LDNdLFsxMDg0LDE2ODMsMTY3OF0sWzE3MjgsNzkzLDExMzBdLFsxNjgzLDE3NjcsMTE5Nl0sWzE2NzcsMTczOCwxMTk2XSxbMTI3OSwxNzg2LDg1M10sWzI5NCwxMDM4LDYwOF0sWzEyNzksMTY4OSwxNzg2XSxbODcwLDE4LDE3MDhdLFs4NzAsMTY4MCwxNjk1XSxbMTcwNSwxMCwxNjcwXSxbMTA4NCwxNzY3LDE2ODNdLFsxMTk2LDE3MzgsMTY4Nl0sWzE3NTAsODcwLDE2ODFdLFsxNzUwLDE4LDg3MF0sWzE3NzMsMTcwMywxNjYwXSxbMTEzNSw0Nyw0MjVdLFsxNTAsMzIzLDExMzRdLFsxNzA3LDE2NTUsMTcwNl0sWzE3NDEsMzQ0LDE2ODddLFsxNjg1LDE2OTEsMTY4NF0sWzE2ODQsMTY5MSw4MDJdLFsxNjcyLDE2NTYsMF0sWzEwMzgsMTI0LDYwOF0sWzE2NzEsMTY3MiwxNjkwXSxbMTYyOCwxMjE4LDE3NjddLFsxNjg2LDEyNzUsMTY2N10sWzE0OTMsMTc1MCwxNjgxXSxbMTc3MywxOCwxNzUwXSxbMTc3MywxNjYwLDE4XSxbMTY3OSwxNjcxLDE2XSxbMTczNSwxNzA2LDE2NzNdLFsxNjY3LDE2NzgsMTY4Nl0sWzE2ODgsMTY1OCwxXSxbMTY1NiwxNjg4LDBdLFsxMjkzLDEyODEsMTQ1OF0sWzE2OTgsMTY3OCwxNjY3XSxbMTY5NiwxMTMwLDE3MjJdLFsxNjk4LDE2NjcsMTY5Nl0sWzE3MTUsMTY2MiwxNjk5XSxbMTY5MiwxMDM4LDI5NF0sWzE2ODIsNzY3LDM1N10sWzE2NjksNjYxLDE2OTJdLFs4MDIsMTcwMiw4MjRdLFsxMDI4LDEwNjcsMTc4NF0sWzgyMiwxNjI0LDc3OF0sWzExOSw4MTMsODYxXSxbMTIxOCwxNjcwLDE2NzddLFsxNzAzLDE2OTMsMTddLFsxNjU4LDE3MTAsMV0sWzc1MCwxNzMwLDE3MjldLFsxNzAxLDc1MCwxNzI5XSxbMTY5MywxNzM1LDE2NzNdLFsxNzMxLDE2OTQsOThdLFsxNjkxLDE3MDIsODAyXSxbNzgzLDE3MjksMTcxOV0sWzE2ODAsODcwLDE3MDhdLFsxNzA3LDE3MDksMTY1NV0sWzUzMyw3NTYsNjc1XSxbMTY5MSwxMjEwLDE3MDJdLFsxMSwxNzA1LDE2NzBdLFsxNzY3LDEyMTgsMTE5Nl0sWzEyMTgsMTY3NywxMTk2XSxbMTY2NCwxNzE2LDE3MjFdLFsxNzI5LDE3MjUsMTcxOV0sWzE3MjksMTA3MiwxNzI1XSxbMTIxMCwxMTE2LDE3MDJdLFsxNzAyLDE3MjAsODI0XSxbMTY4MiwxNjYxLDJdLFsxNzEzLDE3MTksMTcyMV0sWzE3MTYsMTc4NiwxNzEzXSxbMTczMCwxNzIyLDEwNzJdLFsyOTQsMTcxNywxODExXSxbMTY5MiwyOTQsMTY2Nl0sWzE2NTksNjgwLDgyMV0sWzgyNCwxNzIwLDE3MTRdLFsxNzI2LDE3MzEsMTcxOF0sWzM0NSwxMDYyLDEwNDVdLFsxNzM4LDE3NDMsMTI3NV0sWzEwNzUsMTA4OSwxMDcxXSxbNzgzLDE3MTksMTY4OV0sWzEyNzUsNjg0LDE3MjhdLFsxNjkyLDE2NjYsMTY2NV0sWzE2NzUsMTY5MiwxNjY1XSxbMjk0LDE4MTEsMTY2Nl0sWzE3MTYsMTY2NCwzMTBdLFsxNjc4LDE2OTgsMTcwMF0sWzYsOSwxNzI3XSxbNjc2LDY0OSw1OTVdLFszODEsMzEsMzYxXSxbMTcyMywxODA0LDE3NzJdLFsxNzI3LDksMTY5NF0sWzE3MjAsMTA4OSwxNzE0XSxbMTc4NiwxNzE2LDE0MTJdLFsxNjgzLDExOTYsMTY4Nl0sWzE3MTgsMTY5NywxMDg1XSxbMTExNiwxNzM5LDE3MDJdLFsxNzM5LDE3MzQsMTcyMF0sWzE3MDIsMTczOSwxNzIwXSxbMTA4OSwxNzIwLDE3MzRdLFs1MDksNzQ4LDE3NDVdLFsxNzQzLDE3MTUsMTcyNl0sWzE3MTcsMjk0LDc5NF0sWzExMTYsMTczMiwxNzM5XSxbMTcxOCwxNzMxLDE2OTddLFsxNjk2LDE2NjcsMTEzMF0sWzExMzQsMTY2NSwxNzIzXSxbMTY5NCw3MTIsOThdLFsxMDEsMTY4NywxMDJdLFszOTEsMTczNiwxMDFdLFs2NjIsNjM2LDY0Ml0sWzE3MzQsMTQ0NywxMDg5XSxbMTA4OSwxNDQ3LDEwNzFdLFs0MzYsOTksNDkzXSxbMTY4OSwxMjc5LDc4M10sWzE0ODUsMTQ2NSwxMzQyXSxbMTczNiwxNjg3LDEwMV0sWzM0NCwxNzQxLDE3MzNdLFsxNzQxLDE3NDIsMTczM10sWzE3MzUsODI5LDE3MDZdLFs4MjksMTcwNywxNzA2XSxbMTQ4NSwxMzMyLDE0NjVdLFs5NTIsMTEyNiwxNzQyXSxbMTc0NywxNDQ3LDE3MzRdLFs4NzksODkyLDY0NV0sWzE3MzAsMTE0NiwxNjk2XSxbODI5LDE3MDksMTcwN10sWzE3MDksMTcxMiwxNjU1XSxbMTE4LDE3MzksMTczMl0sWzEzMzIsMTc0NCwxNDY1XSxbMTY4NywxNzQ5LDE3NDFdLFsxNzQxLDE3NTgsMTc0Ml0sWzY3OSwxMDcyLDY4XSxbMTA3MiwxNzIyLDY4XSxbMTE4LDE3NDcsMTczOV0sWzE3NDcsMTczNCwxNzM5XSxbMTQ2NSwxNzQ0LDE3MzZdLFsxNzM2LDE3NDAsMTY4N10sWzE3MDQsMTcwMSw3ODNdLFsxNjY1LDYyNCwxNzIzXSxbMTcyMiwxMTMwLDY3XSxbMTAyNSwxMDU1LDQ2N10sWzE0NDQsMTQsMTcwMV0sWzU1OCw1MjIsNTMwXSxbMTY1NywxNjU4LDE2ODhdLFsxMzM5LDE3NDYsMTMzMl0sWzEzMzIsMTc0OCwxNzQ0XSxbMTY4NywxNzQwLDE3NDldLFsxNzQxLDE3NDksMTc1OF0sWzExMDksOTUyLDE3NDJdLFsxNzQ3LDExOCwxNDFdLFsxNjcxLDE2OTAsMTYyOF0sWzE2NzEsMTYyOCwxNl0sWzE2NTcsMTY4OCwxNjU2XSxbMTc0NSw3NDgsMTQ0N10sWzM1Nyw3NjcsMTcxMF0sWzE3NDYsMTc0OCwxMzMyXSxbMTE0NiwxNzAwLDE2OThdLFsxNzU5LDEzMDcsMTMzOF0sWzEyMzksNzgxLDEzMjJdLFsxNzQ1LDE0NDcsMTc0N10sWzUyMiwxNzQ1LDE3NDddLFszMTYsNzE3LDU5NV0sWzE0OCwxNDkzLDE3MjRdLFsxNzU4LDExMDksMTc0Ml0sWzE3MjUsMTA3Miw2NzldLFs3MjYsNzE5LDE2NjFdLFsxNjk1LDE2ODAsMTUyNl0sWzE3NzIsMTc1MCwxNDkzXSxbMTQ4LDE3NzIsMTQ5M10sWzE1NDIsMTc1MSwxMTAxXSxbOTUyLDExMDksMTA4Nl0sWzE3NDQsMTc1MiwxNzM2XSxbMTczNiwxNzUyLDE3NDBdLFsxNzUzLDE3NTUsMTc0MF0sWzM5MSwxMzQyLDE3MzZdLFs4MjEsMTEyLDE1MjBdLFs1NTcsNTMwLDE3NDddLFs1MzAsNTIyLDE3NDddLFs5OTQsODc5LDY0NV0sWzE1NDIsMTc1NiwxNzUxXSxbMTgxMywxNjkzLDE3MDNdLFsxNzQ2LDE3NTQsMTc0OF0sWzE3NDgsMTc2NCwxNzQ0XSxbMTc1MiwxNzU3LDE3NDBdLFsxNzQwLDE3NTcsMTc1M10sWzE3NDksMTc0MCwxNzU1XSxbMTc1NSwxNzYzLDE3NDldLFsxNzYzLDE3NTgsMTc0OV0sWzEyNzUsMTc0Myw2ODRdLFsxODEzLDE3MzUsMTY5M10sWzExMDcsMTA5OSwxMTAxXSxbMTcyMyw2MjQsMTgwNF0sWzE0MDMsMTYwMywxNjA5XSxbMTc0OCwxNzU0LDE3NjRdLFsxNzQ0LDE3NTcsMTc1Ml0sWzE3NjAsMTEwOSwxNzU4XSxbMTQ2NSwxNzM2LDEzNDJdLFs0MzYsMTE1LDk5XSxbMTY4NiwxNzM4LDEyNzVdLFsxNzUxLDE3NjYsMTEwMV0sWzE3NTksMTc1NCwxNzQ2XSxbMTc1NSwxNzUzLDE3NjNdLFsxNTcwLDEyNzksODUzXSxbMTcwMSwxMTQ2LDc1MF0sWzE2NTUsMTY1NiwxNjcxXSxbMTEsMTY3MCwxMjE4XSxbMTc2MSwxNzUxLDE3NTZdLFsxNzY2LDExMDcsMTEwMV0sWzE3MjYsMTYyMywxNzMxXSxbMTcxMSwxNzA0LDEyNzldLFs2Nyw3ODQsNjhdLFs1NTgsNTMwLDU0NV0sWzE2MjAsMTYxOCwxMjMzXSxbMTc2OSwxNzYxLDE3NTZdLFsxMDIsMTY4NywzNDRdLFsxMzM4LDE3NTQsMTc1OV0sWzE3NTQsMjMyLDE3NjRdLFsxNzQ0LDE3NjUsMTc1N10sWzE3NTcsMTc2MywxNzUzXSxbMTc2MiwxNzYwLDE3NThdLFsxNzYwLDE3NzEsMTEwOV0sWzEzMzksMTc1OSwxNzQ2XSxbMTY3NSwxNjY1LDExMzRdLFsxNzMwLDE2OTYsMTcyMl0sWzE3NzQsMTc1MSwxNzYxXSxbMTc2NiwxNzgwLDExMDddLFsxNzgwLDExMDUsMTEwN10sWzE3NjQsMTc2NSwxNzQ0XSxbMTc2MywxNzYyLDE3NThdLFsxNzcyLDE3NzMsMTc1MF0sWzE4MTEsMTgxMywxNzAzXSxbMTQzNCwxNzY5LDE0MzJdLFsxNzgwLDE3NjYsMTc1MV0sWzIzMiwxNzgxLDE3NjRdLFsxNzExLDEyNzksMTU3MF0sWzE2ODgsMSwwXSxbMTc3NCwxNzgwLDE3NTFdLFsxNzY0LDE3ODEsMTc2NV0sWzE3NjUsMTc2OCwxNzU3XSxbMTc1NywxNzY4LDE3NjNdLFsxNzc3LDE3ODIsMTc2MF0sWzE3NjIsMTc3NywxNzYwXSxbMTc2OSwxNzc0LDE3NjFdLFsxNzYzLDE3NzcsMTc2Ml0sWzE3NjAsMTc4MiwxNzcxXSxbMjMyLDE3MzcsMTc4MV0sWzE3NjgsMTc3NiwxNzYzXSxbMjcyLDI1NSw3NzRdLFsxNjY5LDk5NCw2NjFdLFsxNjE4LDE3NjksMTQzNF0sWzE3NjUsNTg5LDE3NjhdLFsxNzcwLDE3NzcsMTc2M10sWzE3MDEsMTcyOSw3ODNdLFsxNzgzLDE3NzQsMTc2OV0sWzE3ODksMTc4MCwxNzc0XSxbNTg5LDE3NzUsMTc2OF0sWzE3NzYsMTc3MCwxNzYzXSxbMTc4MiwxNzc4LDE3NzFdLFsxNzcxLDE3NzgsMTA3MF0sWzYyNCwxNzAzLDE3NzNdLFs2MjQsMTgxMSwxNzAzXSxbMTYyMCwxMjQ0LDE2MThdLFsxNzc5LDE3NjksMTYxOF0sWzE3NzksMTc4MywxNzY5XSxbNzM5LDE3MzUsMTgxM10sWzE3NzUsMTc3NiwxNzY4XSxbMTc5MCwxNzc3LDE3NzBdLFsxNzc3LDE3NzgsMTc4Ml0sWzE3MjUsNjc5LDE3MjFdLFs3MzMsMTI5MywxNDU4XSxbMTgwMiwxNjE4LDEyNDRdLFsxODAyLDE3NzksMTYxOF0sWzE3ODgsMTc4MywxNzc5XSxbMTc4OSwxNzc0LDE3ODNdLFsxNzk2LDE3ODAsMTc4OV0sWzE3OTYsMTExOSwxNzgwXSxbMTgyMywxODE3LDMyNV0sWzE2OTksMTcyNywxNjIzXSxbNzUwLDExNDYsMTczMF0sWzE0OTcsMTcyNCwyOTZdLFsxMTI4LDExMTksMTc5Nl0sWzYxLDYyLDcxXSxbMTEzMSw0MTMsODI0XSxbMTExNCwxMTExLDI0OV0sWzE3ODQsMTc3NiwxNzc1XSxbMTEyMyw3MjMsMTI4M10sWzE3OTEsMTc4OCwxNzc5XSxbMTc4OCwxNzg5LDE3ODNdLFsxMDk1LDE3OTcsMTA3NF0sWzEwMjgsMTc4NCwxNzc1XSxbMTc4NCwxNzcwLDE3NzZdLFsxNzc3LDE3OTAsMTc3OF0sWzE3OTMsMTc5NywxMDk1XSxbMTc5NywxODAwLDEwNzRdLFsxNzk4LDE3OTAsMTc3MF0sWzE4MDUsMTgwMiwxMjQ0XSxbMTgwMiwxNzkxLDE3NzldLFsxNzkyLDE3ODksMTc4OF0sWzE3OTMsMTc4NSwxMTI4XSxbMTc5MywxMDk1LDE3ODVdLFsxMDc0LDE4MDAsMTYxOV0sWzc0MSw0NTcsNTkzXSxbMTc5OCwxNzcwLDE3ODRdLFsxNzk4LDE3OTQsMTc5MF0sWzE3ODYsMTY4OSwxNzEzXSxbNjg0LDE3MjYsMTcxOF0sWzE3MjgsMTA4NSw3OTNdLFsxNzk1LDE3ODcsMTUwMl0sWzE4MDYsMTgwMiwxODA1XSxbMTgxOSwxNzg4LDE3OTFdLFsxMDY3LDE3OTgsMTc4NF0sWzE3OTAsMTc5NCwxNzc4XSxbMTc5NSwxNTAyLDExMjRdLFsxODAxLDE4MDUsMTc4N10sWzE4MDcsMTc5MSwxODAyXSxbMTgwNywxODE5LDE3OTFdLFsxODE5LDE3OTIsMTc4OF0sWzE3OTksMTEyOCwxNzk2XSxbOTk0LDY0NSw2NjFdLFs2ODQsMTA4NSwxNzI4XSxbNjg0LDE3MTgsMTA4NV0sWzE2OTksMTYyMywxNzI2XSxbMTgwMSwxNzg3LDE3OTVdLFsxODA4LDE3ODksMTc5Ml0sWzE4MDgsMTc5NiwxNzg5XSxbMTc5OSwxNzkzLDExMjhdLFsxODA5LDE3OTcsMTc5M10sWzE4MDksMTgwMywxNzk3XSxbMTgwMywxODAwLDE3OTddLFsxMDY3LDE3OTQsMTc5OF0sWzc3NCwyNTUsMTc3OF0sWzE2NzMsMTY3MSwxNjc5XSxbODc5LDE2NjksODg4XSxbMTksMTgwNywxODAyXSxbMTgxMCwxNjE5LDE4MDBdLFs4NzksOTk0LDE2NjldLFsxNzk0LDc3NCwxNzc4XSxbMTcyMywxNzcyLDE0OF0sWzE4MDQsMTc3MywxNzcyXSxbMTgxNCwxNzk1LDExMjRdLFsxNjQ5LDE4MTQsMTEyNF0sWzE4MTQsMTgwMSwxNzk1XSxbMTgxMiwxODA2LDE4MDVdLFsxOSwxODAyLDE4MDZdLFsxOSwxODE5LDE4MDddLFsxODEwLDE4MDAsMTgwM10sWzE4MDQsNjI0LDE3NzNdLFsxNzE0LDExMzEsODI0XSxbMTgwMSwxODEyLDE4MDVdLFsxODEyLDE5LDE4MDZdLFsxODA4LDE3OTIsMTgxOV0sWzE3OTksMTgwOSwxNzkzXSxbMTgyMSwxODEwLDE4MDNdLFsxNzE3LDczOSwxODEzXSxbMTA2MSwxNjE5LDE4MjJdLFsxNzk0LDE4MTcsNzc0XSxbNzksMTQ4MiwxNDRdLFsxODE1LDE4MDEsMTgxNF0sWzIzLDE4MTksMTldLFs1ODksMTAyOCwxNzc1XSxbMTgxNywxODIzLDc3NF0sWzE2ODksMTcxOSwxNzEzXSxbMTgyNCwxODE0LDE2NDldLFsxODI3LDE4MTgsMTgwMV0sWzE4MTgsMTgxMiwxODAxXSxbMTgxOCwxOSwxODEyXSxbMTgxOCwyMCwxOV0sWzE4MTYsMTgwOSwxNzk5XSxbMTgyMSwxODAzLDE4MDldLFsxODIyLDE2MTksMTgxMF0sWzEyNCw3MDgsNjA4XSxbMTY2MywxMCwxNzE1XSxbMTgxNSwxODI3LDE4MDFdLFsxODIwLDE4MDgsMTgxOV0sWzIzLDE4MjAsMTgxOV0sWzYwMywxODEwLDE4MjFdLFs2MDMsMTgyMiwxODEwXSxbMTA4NSwxNjk3LDc5M10sWzE2MjgsMTY5MCwxMV0sWzE1MjcsMTcwNCwxNjI0XSxbMTczMCwxMDcyLDE3MjldLFsxNTI2LDE0NDQsMTcwNF0sWzE1MjYsMTY4MCwxNDQ0XSxbMTcwNCwxNDQ0LDE3MDFdLFsxODE2LDE4MjEsMTgwOV0sWzE3MjIsNjcsNjhdLFszMTcsMjcyLDE4MjNdLFsxNzE2LDE3MTMsMTcyMV0sWzE2LDE2MjgsMTc2N10sWzE1MjcsMTUyNiwxNzA0XSxbMTgyNCwxODI2LDE4MTRdLFsxODE0LDE4MjYsMTgxNV0sWzE4MTgsMjEsMjBdLFsxODM1LDE4MDgsMTgyMF0sWzYwMyw1NzAsMTgyMl0sWzIyNiwxMDcwLDE3NzhdLFsxMDEzLDExODEsMTE3OV0sWzE3MjEsNjc5LDE2NjRdLFsxNzE3LDE4MTMsMTgxMV0sWzE4MjgsMTgyNywxODE1XSxbMjIsMTgyMCwyM10sWzIyLDE4MzUsMTgyMF0sWzE4MzAsNjAzLDE4MjFdLFs3MTksMTY1OSw1XSxbNjQzLDU2NywxNjU3XSxbMTcxNyw3OTQsNzM5XSxbMTgyNSwxODI2LDE4MjRdLFsxODI4LDE4MTUsMTgyNl0sWzE4MjksMjEsMTgxOF0sWzE4MDgsMTgzNSwxM10sWzQsNzE5LDVdLFsxMCwxNjYyLDE3MTVdLFsxODI4LDE4MzIsMTgyN10sWzE4MzIsMTgxOCwxODI3XSxbMTIsMTgzMywxODE2XSxbMTgzMywxODIxLDE4MTZdLFsxODMzLDE4MzAsMTgyMV0sWzE0LDExNDYsMTcwMV0sWzExODYsMTgyOSwxODE4XSxbMTI4MCw2MDMsMTgzMF0sWzE0LDE3MDAsMTE0Nl0sWzE2NjcsMTcyOCwxMTMwXSxbMTgyNSwxODM0LDE4MjZdLFsxODM0LDE4MjgsMTgyNl0sWzE4MzIsMTE4NiwxODE4XSxbMTgzNiwxMywxODM1XSxbMTYyNCwxNzExLDE1NzBdLFs3NzgsMTYyNCwxNTcwXSxbMTcxOSwxNzI1LDE3MjFdLFsxMDAyLDE4MjUsMTgzMV0sWzEwMDIsMTgzNCwxODI1XSxbMTgzNCwxODMyLDE4MjhdLFsxMTg2LDIxLDE4MjldLFsxODM2LDE4MzUsMjJdLFsxODM3LDE4MzMsMTJdLFsxMjgwLDE4MzAsMTgzM10sWzE2NjcsMTI3NSwxNzI4XSxbMTYsMTc2NywxMDg0XSxbNTg5LDE3NjUsMTgzOF0sWzE3NjUsMTc4MSwxODM4XSxbMTc4MSwxNzM3LDE4MzhdLFsxNzM3LDk4MiwxODM4XSxbOTgyLDEwNTMsMTgzOF0sWzEwNTMsODE2LDE4MzhdLFs4MTYsNTg5LDE4MzhdXVxuIl19
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
module.exports = identity;
/**
* Set a mat4 to the identity matrix
*
* @param {mat4} out the receiving matrix
* @returns {mat4} out
*/
function identity(out) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = 1;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 1;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
};
},{}],2:[function(require,module,exports){
var identity = require('./identity');
module.exports = lookAt;
/**
* Generates a look-at matrix with the given eye position, focal point, and up axis
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {vec3} eye Position of the viewer
* @param {vec3} center Point the viewer is looking at
* @param {vec3} up vec3 pointing up
* @returns {mat4} out
*/
function lookAt(out, eye, center, up) {
var x0, x1, x2, y0, y1, y2, z0, z1, z2, len,
eyex = eye[0],
eyey = eye[1],
eyez = eye[2],
upx = up[0],
upy = up[1],
upz = up[2],
centerx = center[0],
centery = center[1],
centerz = center[2];
if (Math.abs(eyex - centerx) < 0.000001 &&
Math.abs(eyey - centery) < 0.000001 &&
Math.abs(eyez - centerz) < 0.000001) {
return identity(out);
}
z0 = eyex - centerx;
z1 = eyey - centery;
z2 = eyez - centerz;
len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);
z0 *= len;
z1 *= len;
z2 *= len;
x0 = upy * z2 - upz * z1;
x1 = upz * z0 - upx * z2;
x2 = upx * z1 - upy * z0;
len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);
if (!len) {
x0 = 0;
x1 = 0;
x2 = 0;
} else {
len = 1 / len;
x0 *= len;
x1 *= len;
x2 *= len;
}
y0 = z1 * x2 - z2 * x1;
y1 = z2 * x0 - z0 * x2;
y2 = z0 * x1 - z1 * x0;
len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);
if (!len) {
y0 = 0;
y1 = 0;
y2 = 0;
} else {
len = 1 / len;
y0 *= len;
y1 *= len;
y2 *= len;
}
out[0] = x0;
out[1] = y0;
out[2] = z0;
out[3] = 0;
out[4] = x1;
out[5] = y1;
out[6] = z1;
out[7] = 0;
out[8] = x2;
out[9] = y2;
out[10] = z2;
out[11] = 0;
out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);
out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);
out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);
out[15] = 1;
return out;
};
},{"./identity":1}],3:[function(require,module,exports){
module.exports = perspective;
/**
* Generates a perspective projection matrix with the given bounds
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {number} fovy Vertical field of view in radians
* @param {number} aspect Aspect ratio. typically viewport width/height
* @param {number} near Near bound of the frustum
* @param {number} far Far bound of the frustum
* @returns {mat4} out
*/
function perspective(out, fovy, aspect, near, far) {
var f = 1.0 / Math.tan(fovy / 2),
nf = 1 / (near - far);
out[0] = f / aspect;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = f;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = (far + near) * nf;
out[11] = -1;
out[12] = 0;
out[13] = 0;
out[14] = (2 * far * near) * nf;
out[15] = 0;
return out;
};
},{}],4:[function(require,module,exports){
'use strict'
module.exports = mouseListen
var mouse = require('mouse-event')
function mouseListen(element, callback) {
if(!callback) {
callback = element
element = window
}
var buttonState = 0
var x = 0
var y = 0
var mods = {
shift: false,
alt: false,
control: false,
meta: false
}
var attached = false
function updateMods(ev) {
var changed = false
if('altKey' in ev) {
changed = changed || ev.altKey !== mods.alt
mods.alt = !!ev.altKey
}
if('shiftKey' in ev) {
changed = changed || ev.shiftKey !== mods.shift
mods.shift = !!ev.shiftKey
}
if('ctrlKey' in ev) {
changed = changed || ev.ctrlKey !== mods.control
mods.control = !!ev.ctrlKey
}
if('metaKey' in ev) {
changed = changed || ev.metaKey !== mods.meta
mods.meta = !!ev.metaKey
}
return changed
}
function handleEvent(nextButtons, ev) {
var nextX = mouse.x(ev)
var nextY = mouse.y(ev)
if('buttons' in ev) {
nextButtons = ev.buttons|0
}
if(nextButtons !== buttonState ||
nextX !== x ||
nextY !== y ||
updateMods(ev)) {
buttonState = nextButtons|0
x = nextX||0
y = nextY||0
callback && callback(buttonState, x, y, mods)
}
}
function clearState(ev) {
handleEvent(0, ev)
}
function handleBlur() {
if(buttonState ||
x ||
y ||
mods.shift ||
mods.alt ||
mods.meta ||
mods.control) {
x = y = 0
buttonState = 0
mods.shift = mods.alt = mods.control = mods.meta = false
callback && callback(0, 0, 0, mods)
}
}
function handleMods(ev) {
if(updateMods(ev)) {
callback && callback(buttonState, x, y, mods)
}
}
function handleMouseMove(ev) {
if(mouse.buttons(ev) === 0) {
handleEvent(0, ev)
} else {
handleEvent(buttonState, ev)
}
}
function handleMouseDown(ev) {
handleEvent(buttonState | mouse.buttons(ev), ev)
}
function handleMouseUp(ev) {
handleEvent(buttonState & ~mouse.buttons(ev), ev)
}
function attachListeners() {
if(attached) {
return
}
attached = true
element.addEventListener('mousemove', handleMouseMove)
element.addEventListener('mousedown', handleMouseDown)
element.addEventListener('mouseup', handleMouseUp)
element.addEventListener('mouseleave', clearState)
element.addEventListener('mouseenter', clearState)
element.addEventListener('mouseout', clearState)
element.addEventListener('mouseover', clearState)
element.addEventListener('blur', handleBlur)
element.addEventListener('keyup', handleMods)
element.addEventListener('keydown', handleMods)
element.addEventListener('keypress', handleMods)
if(element !== window) {
window.addEventListener('blur', handleBlur)
window.addEventListener('keyup', handleMods)
window.addEventListener('keydown', handleMods)
window.addEventListener('keypress', handleMods)
}
}
function detachListeners() {
if(!attached) {
return
}
attached = false
element.removeEventListener('mousemove', handleMouseMove)
element.removeEventListener('mousedown', handleMouseDown)
element.removeEventListener('mouseup', handleMouseUp)
element.removeEventListener('mouseleave', clearState)
element.removeEventListener('mouseenter', clearState)
element.removeEventListener('mouseout', clearState)
element.removeEventListener('mouseover', clearState)
element.removeEventListener('blur', handleBlur)
element.removeEventListener('keyup', handleMods)
element.removeEventListener('keydown', handleMods)
element.removeEventListener('keypress', handleMods)
if(element !== window) {
window.removeEventListener('blur', handleBlur)
window.removeEventListener('keyup', handleMods)
window.removeEventListener('keydown', handleMods)
window.removeEventListener('keypress', handleMods)
}
}
//Attach listeners
attachListeners()
var result = {
element: element
}
Object.defineProperties(result, {
enabled: {
get: function() { return attached },
set: function(f) {
if(f) {
attachListeners()
} else {
detachListeners
}
},
enumerable: true
},
buttons: {
get: function() { return buttonState },
enumerable: true
},
x: {
get: function() { return x },
enumerable: true
},
y: {
get: function() { return y },
enumerable: true
},
mods: {
get: function() { return mods },
enumerable: true
}
})
return result
}
},{"mouse-event":5}],5:[function(require,module,exports){
'use strict'
function mouseButtons(ev) {
if(typeof ev === 'object') {
if('buttons' in ev) {
return ev.buttons
} else if('which' in ev) {
var b = ev.which
if(b === 2) {
return 4
} else if(b === 3) {
return 2
} else if(b > 0) {
return 1<<(b-1)
}
} else if('button' in ev) {
var b = ev.button
if(b === 1) {
return 4
} else if(b === 2) {
return 2
} else if(b >= 0) {
return 1<<b
}
}
}
return 0
}
exports.buttons = mouseButtons
function mouseElement(ev) {
return ev.target || ev.srcElement || window
}
exports.element = mouseElement
function mouseRelativeX(ev) {
if(typeof ev === 'object') {
if('offsetX' in ev) {
return ev.offsetX
}
var target = mouseElement(ev)
var bounds = target.getBoundingClientRect()
return ev.clientX - bounds.left
}
return 0
}
exports.x = mouseRelativeX
function mouseRelativeY(ev) {
if(typeof ev === 'object') {
if('offsetY' in ev) {
return ev.offsetY
}
var target = mouseElement(ev)
var bounds = target.getBoundingClientRect()
return ev.clientY - bounds.top
}
return 0
}
exports.y = mouseRelativeY
},{}],6:[function(require,module,exports){
module.exports = function parseUnit(str, out) {
if (!out)
out = [ 0, '' ]
str = String(str)
var num = parseFloat(str, 10)
out[0] = num
out[1] = str.match(/[\d.\-\+]*\s*(.*)/)[1] || ''
return out
}
},{}],7:[function(require,module,exports){
'use strict'
var parseUnit = require('parse-unit')
module.exports = toPX
var PIXELS_PER_INCH = 96
function getPropertyInPX(element, prop) {
var parts = parseUnit(getComputedStyle(element).getPropertyValue(prop))
return parts[0] * toPX(parts[1], element)
}
//This brutal hack is needed
function getSizeBrutal(unit, element) {
var testDIV = document.createElement('div')
testDIV.style['font-size'] = '128' + unit
element.appendChild(testDIV)
var size = getPropertyInPX(testDIV, 'font-size') / 128
element.removeChild(testDIV)
return size
}
function toPX(str, element) {
element = element || document.body
str = (str || 'px').trim().toLowerCase()
if(element === window || element === document) {
element = document.body
}
switch(str) {
case '%': //Ambiguous, not sure if we should use width or height
return element.clientHeight / 100.0
case 'ch':
case 'ex':
return getSizeBrutal(str, element)
case 'em':
return getPropertyInPX(element, 'font-size')
case 'rem':
return getPropertyInPX(document.body, 'font-size')
case 'vw':
return window.innerWidth/100
case 'vh':
return window.innerHeight/100
case 'vmin':
return Math.min(window.innerWidth, window.innerHeight) / 100
case 'vmax':
return Math.max(window.innerWidth, window.innerHeight) / 100
case 'in':
return PIXELS_PER_INCH
case 'cm':
return PIXELS_PER_INCH / 2.54
case 'mm':
return PIXELS_PER_INCH / 25.4
case 'pt':
return PIXELS_PER_INCH / 72
case 'pc':
return PIXELS_PER_INCH / 6
}
return 1
}
},{"parse-unit":6}],8:[function(require,module,exports){
'use strict'
var toPX = require('to-px')
module.exports = mouseWheelListen
function mouseWheelListen(element, callback, noScroll) {
if(typeof element === 'function') {
noScroll = !!callback
callback = element
element = window
}
var lineHeight = toPX('ex', element)
var listener = function(ev) {
if(noScroll) {
ev.preventDefault()
}
var dx = ev.deltaX || 0
var dy = ev.deltaY || 0
var dz = ev.deltaZ || 0
var mode = ev.deltaMode
var scale = 1
switch(mode) {
case 1:
scale = lineHeight
break
case 2:
scale = window.innerHeight
break
}
dx *= scale
dy *= scale
dz *= scale
if(dx || dy || dz) {
return callback(dx, dy, dz, ev)
}
}
element.addEventListener('wheel', listener)
return listener
}
},{"to-px":7}],"regl-camera":[function(require,module,exports){
var mouseChange = require('mouse-change')
var mouseWheel = require('mouse-wheel')
var identity = require('gl-mat4/identity')
var perspective = require('gl-mat4/perspective')
var lookAt = require('gl-mat4/lookAt')
module.exports = createCamera
var isBrowser = typeof window !== 'undefined'
function createCamera (regl, props_) {
var props = props_ || {}
var cameraState = {
view: identity(new Float32Array(16)),
projection: identity(new Float32Array(16)),
center: new Float32Array(props.center || 3),
theta: props.theta || 0,
phi: props.phi || 0,
distance: Math.log(props.distance || 10.0),
eye: new Float32Array(3),
up: new Float32Array(props.up || [0, 1, 0]),
fovy: props.fovy || Math.PI / 4.0,
near: typeof props.near !== 'undefined' ? props.near : 0.01,
far: typeof props.far !== 'undefined' ? props.far : 1000.0,
flipY: !!props.flipY,
dtheta: 0,
dphi: 0
}
var right = new Float32Array([1, 0, 0])
var front = new Float32Array([0, 0, 1])
var minDistance = Math.log('minDistance' in props ? props.minDistance : 0.1)
var maxDistance = Math.log('maxDistance' in props ? props.maxDistance : 1000)
var ddistance = 0
var prevX = 0
var prevY = 0
if (isBrowser && props.mouse !== false) {
mouseChange(function (buttons, x, y) {
if (buttons & 1) {
var dx = (x - prevX) / window.innerWidth
var dy = (y - prevY) / window.innerHeight
var w = Math.max(cameraState.distance, 0.5)
cameraState.dtheta += w * dx
cameraState.dphi += w * dy
}
prevX = x
prevY = y
})
mouseWheel(function (dx, dy) {
ddistance += dy / window.innerHeight
})
}
function damp (x) {
var xd = x * 0.9
if (Math.abs(xd) < 0.1) {
return 0
}
return xd
}
function clamp (x, lo, hi) {
return Math.min(Math.max(x, lo), hi)
}
function updateCamera (props) {
Object.keys(props).forEach(function (prop) {
cameraState[prop] = props[prop]
})
var center = cameraState.center
var eye = cameraState.eye
var up = cameraState.up
var dtheta = cameraState.dtheta
var dphi = cameraState.dphi
cameraState.theta += dtheta
cameraState.phi = clamp(
cameraState.phi + dphi,
-Math.PI / 2.0,
Math.PI / 2.0)
cameraState.distance = clamp(
cameraState.distance + ddistance,
minDistance,
maxDistance)
cameraState.dtheta = damp(dtheta)
cameraState.dphi = damp(dphi)
ddistance = damp(ddistance)
var theta = cameraState.theta
var phi = cameraState.phi
var r = Math.exp(cameraState.distance)
var vf = r * Math.sin(theta) * Math.cos(phi)
var vr = r * Math.cos(theta) * Math.cos(phi)
var vu = r * Math.sin(phi)
for (var i = 0; i < 3; ++i) {
eye[i] = center[i] + vf * front[i] + vr * right[i] + vu * up[i]
}
lookAt(cameraState.view, eye, center, up)
}
var injectContext = regl({
context: Object.assign({}, cameraState, {
projection: function ({viewportWidth, viewportHeight}) {
perspective(cameraState.projection,
cameraState.fovy,
viewportWidth / viewportHeight,
cameraState.near,
cameraState.far)
if (cameraState.flipY) { cameraState.projection[5] *= -1 }
return cameraState.projection
}
}),
uniforms: Object.keys(cameraState).reduce(function (uniforms, name) {
uniforms[name] = regl.context(name)
return uniforms
}, {})
})
function setupCamera (props, block) {
if (!block) {
block = props
props = {}
}
updateCamera(props)
injectContext(block)
}
Object.keys(cameraState).forEach(function (name) {
setupCamera[name] = cameraState[name]
})
return setupCamera
}
},{"gl-mat4/identity":1,"gl-mat4/lookAt":2,"gl-mat4/perspective":3,"mouse-change":4,"mouse-wheel":8}]},{},[])
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsIm5vZGVfbW9kdWxlcy9nbC1tYXQ0L2lkZW50aXR5LmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvbG9va0F0LmpzIiwibm9kZV9tb2R1bGVzL2dsLW1hdDQvcGVyc3BlY3RpdmUuanMiLCJub2RlX21vZHVsZXMvbW91c2UtY2hhbmdlL21vdXNlLWxpc3Rlbi5qcyIsIm5vZGVfbW9kdWxlcy9tb3VzZS1jaGFuZ2Uvbm9kZV9tb2R1bGVzL21vdXNlLWV2ZW50L21vdXNlLmpzIiwibm9kZV9tb2R1bGVzL21vdXNlLXdoZWVsL25vZGVfbW9kdWxlcy90by1weC9ub2RlX21vZHVsZXMvcGFyc2UtdW5pdC9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9tb3VzZS13aGVlbC9ub2RlX21vZHVsZXMvdG8tcHgvdG9weC5qcyIsIm5vZGVfbW9kdWxlcy9tb3VzZS13aGVlbC93aGVlbC5qcyIsInJlZ2wtY2FtZXJhLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDekZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNoQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUM1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3hDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwibW9kdWxlLmV4cG9ydHMgPSBpZGVudGl0eTtcblxuLyoqXG4gKiBTZXQgYSBtYXQ0IHRvIHRoZSBpZGVudGl0eSBtYXRyaXhcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCB0aGUgcmVjZWl2aW5nIG1hdHJpeFxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiBpZGVudGl0eShvdXQpIHtcbiAgICBvdXRbMF0gPSAxO1xuICAgIG91dFsxXSA9IDA7XG4gICAgb3V0WzJdID0gMDtcbiAgICBvdXRbM10gPSAwO1xuICAgIG91dFs0XSA9IDA7XG4gICAgb3V0WzVdID0gMTtcbiAgICBvdXRbNl0gPSAwO1xuICAgIG91dFs3XSA9IDA7XG4gICAgb3V0WzhdID0gMDtcbiAgICBvdXRbOV0gPSAwO1xuICAgIG91dFsxMF0gPSAxO1xuICAgIG91dFsxMV0gPSAwO1xuICAgIG91dFsxMl0gPSAwO1xuICAgIG91dFsxM10gPSAwO1xuICAgIG91dFsxNF0gPSAwO1xuICAgIG91dFsxNV0gPSAxO1xuICAgIHJldHVybiBvdXQ7XG59OyIsInZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHknKTtcblxubW9kdWxlLmV4cG9ydHMgPSBsb29rQXQ7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbG9vay1hdCBtYXRyaXggd2l0aCB0aGUgZ2l2ZW4gZXllIHBvc2l0aW9uLCBmb2NhbCBwb2ludCwgYW5kIHVwIGF4aXNcbiAqXG4gKiBAcGFyYW0ge21hdDR9IG91dCBtYXQ0IGZydXN0dW0gbWF0cml4IHdpbGwgYmUgd3JpdHRlbiBpbnRvXG4gKiBAcGFyYW0ge3ZlYzN9IGV5ZSBQb3NpdGlvbiBvZiB0aGUgdmlld2VyXG4gKiBAcGFyYW0ge3ZlYzN9IGNlbnRlciBQb2ludCB0aGUgdmlld2VyIGlzIGxvb2tpbmcgYXRcbiAqIEBwYXJhbSB7dmVjM30gdXAgdmVjMyBwb2ludGluZyB1cFxuICogQHJldHVybnMge21hdDR9IG91dFxuICovXG5mdW5jdGlvbiBsb29rQXQob3V0LCBleWUsIGNlbnRlciwgdXApIHtcbiAgICB2YXIgeDAsIHgxLCB4MiwgeTAsIHkxLCB5MiwgejAsIHoxLCB6MiwgbGVuLFxuICAgICAgICBleWV4ID0gZXllWzBdLFxuICAgICAgICBleWV5ID0gZXllWzFdLFxuICAgICAgICBleWV6ID0gZXllWzJdLFxuICAgICAgICB1cHggPSB1cFswXSxcbiAgICAgICAgdXB5ID0gdXBbMV0sXG4gICAgICAgIHVweiA9IHVwWzJdLFxuICAgICAgICBjZW50ZXJ4ID0gY2VudGVyWzBdLFxuICAgICAgICBjZW50ZXJ5ID0gY2VudGVyWzFdLFxuICAgICAgICBjZW50ZXJ6ID0gY2VudGVyWzJdO1xuXG4gICAgaWYgKE1hdGguYWJzKGV5ZXggLSBjZW50ZXJ4KSA8IDAuMDAwMDAxICYmXG4gICAgICAgIE1hdGguYWJzKGV5ZXkgLSBjZW50ZXJ5KSA8IDAuMDAwMDAxICYmXG4gICAgICAgIE1hdGguYWJzKGV5ZXogLSBjZW50ZXJ6KSA8IDAuMDAwMDAxKSB7XG4gICAgICAgIHJldHVybiBpZGVudGl0eShvdXQpO1xuICAgIH1cblxuICAgIHowID0gZXlleCAtIGNlbnRlcng7XG4gICAgejEgPSBleWV5IC0gY2VudGVyeTtcbiAgICB6MiA9IGV5ZXogLSBjZW50ZXJ6O1xuXG4gICAgbGVuID0gMSAvIE1hdGguc3FydCh6MCAqIHowICsgejEgKiB6MSArIHoyICogejIpO1xuICAgIHowICo9IGxlbjtcbiAgICB6MSAqPSBsZW47XG4gICAgejIgKj0gbGVuO1xuXG4gICAgeDAgPSB1cHkgKiB6MiAtIHVweiAqIHoxO1xuICAgIHgxID0gdXB6ICogejAgLSB1cHggKiB6MjtcbiAgICB4MiA9IHVweCAqIHoxIC0gdXB5ICogejA7XG4gICAgbGVuID0gTWF0aC5zcXJ0KHgwICogeDAgKyB4MSAqIHgxICsgeDIgKiB4Mik7XG4gICAgaWYgKCFsZW4pIHtcbiAgICAgICAgeDAgPSAwO1xuICAgICAgICB4MSA9IDA7XG4gICAgICAgIHgyID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBsZW4gPSAxIC8gbGVuO1xuICAgICAgICB4MCAqPSBsZW47XG4gICAgICAgIHgxICo9IGxlbjtcbiAgICAgICAgeDIgKj0gbGVuO1xuICAgIH1cblxuICAgIHkwID0gejEgKiB4MiAtIHoyICogeDE7XG4gICAgeTEgPSB6MiAqIHgwIC0gejAgKiB4MjtcbiAgICB5MiA9IHowICogeDEgLSB6MSAqIHgwO1xuXG4gICAgbGVuID0gTWF0aC5zcXJ0KHkwICogeTAgKyB5MSAqIHkxICsgeTIgKiB5Mik7XG4gICAgaWYgKCFsZW4pIHtcbiAgICAgICAgeTAgPSAwO1xuICAgICAgICB5MSA9IDA7XG4gICAgICAgIHkyID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBsZW4gPSAxIC8gbGVuO1xuICAgICAgICB5MCAqPSBsZW47XG4gICAgICAgIHkxICo9IGxlbjtcbiAgICAgICAgeTIgKj0gbGVuO1xuICAgIH1cblxuICAgIG91dFswXSA9IHgwO1xuICAgIG91dFsxXSA9IHkwO1xuICAgIG91dFsyXSA9IHowO1xuICAgIG91dFszXSA9IDA7XG4gICAgb3V0WzRdID0geDE7XG4gICAgb3V0WzVdID0geTE7XG4gICAgb3V0WzZdID0gejE7XG4gICAgb3V0WzddID0gMDtcbiAgICBvdXRbOF0gPSB4MjtcbiAgICBvdXRbOV0gPSB5MjtcbiAgICBvdXRbMTBdID0gejI7XG4gICAgb3V0WzExXSA9IDA7XG4gICAgb3V0WzEyXSA9IC0oeDAgKiBleWV4ICsgeDEgKiBleWV5ICsgeDIgKiBleWV6KTtcbiAgICBvdXRbMTNdID0gLSh5MCAqIGV5ZXggKyB5MSAqIGV5ZXkgKyB5MiAqIGV5ZXopO1xuICAgIG91dFsxNF0gPSAtKHowICogZXlleCArIHoxICogZXlleSArIHoyICogZXlleik7XG4gICAgb3V0WzE1XSA9IDE7XG5cbiAgICByZXR1cm4gb3V0O1xufTsiLCJtb2R1bGUuZXhwb3J0cyA9IHBlcnNwZWN0aXZlO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIHBlcnNwZWN0aXZlIHByb2plY3Rpb24gbWF0cml4IHdpdGggdGhlIGdpdmVuIGJvdW5kc1xuICpcbiAqIEBwYXJhbSB7bWF0NH0gb3V0IG1hdDQgZnJ1c3R1bSBtYXRyaXggd2lsbCBiZSB3cml0dGVuIGludG9cbiAqIEBwYXJhbSB7bnVtYmVyfSBmb3Z5IFZlcnRpY2FsIGZpZWxkIG9mIHZpZXcgaW4gcmFkaWFuc1xuICogQHBhcmFtIHtudW1iZXJ9IGFzcGVjdCBBc3BlY3QgcmF0aW8uIHR5cGljYWxseSB2aWV3cG9ydCB3aWR0aC9oZWlnaHRcbiAqIEBwYXJhbSB7bnVtYmVyfSBuZWFyIE5lYXIgYm91bmQgb2YgdGhlIGZydXN0dW1cbiAqIEBwYXJhbSB7bnVtYmVyfSBmYXIgRmFyIGJvdW5kIG9mIHRoZSBmcnVzdHVtXG4gKiBAcmV0dXJucyB7bWF0NH0gb3V0XG4gKi9cbmZ1bmN0aW9uIHBlcnNwZWN0aXZlKG91dCwgZm92eSwgYXNwZWN0LCBuZWFyLCBmYXIpIHtcbiAgICB2YXIgZiA9IDEuMCAvIE1hdGgudGFuKGZvdnkgLyAyKSxcbiAgICAgICAgbmYgPSAxIC8gKG5lYXIgLSBmYXIpO1xuICAgIG91dFswXSA9IGYgLyBhc3BlY3Q7XG4gICAgb3V0WzFdID0gMDtcbiAgICBvdXRbMl0gPSAwO1xuICAgIG91dFszXSA9IDA7XG4gICAgb3V0WzRdID0gMDtcbiAgICBvdXRbNV0gPSBmO1xuICAgIG91dFs2XSA9IDA7XG4gICAgb3V0WzddID0gMDtcbiAgICBvdXRbOF0gPSAwO1xuICAgIG91dFs5XSA9IDA7XG4gICAgb3V0WzEwXSA9IChmYXIgKyBuZWFyKSAqIG5mO1xuICAgIG91dFsxMV0gPSAtMTtcbiAgICBvdXRbMTJdID0gMDtcbiAgICBvdXRbMTNdID0gMDtcbiAgICBvdXRbMTRdID0gKDIgKiBmYXIgKiBuZWFyKSAqIG5mO1xuICAgIG91dFsxNV0gPSAwO1xuICAgIHJldHVybiBvdXQ7XG59OyIsIid1c2Ugc3RyaWN0J1xuXG5tb2R1bGUuZXhwb3J0cyA9IG1vdXNlTGlzdGVuXG5cbnZhciBtb3VzZSA9IHJlcXVpcmUoJ21vdXNlLWV2ZW50JylcblxuZnVuY3Rpb24gbW91c2VMaXN0ZW4oZWxlbWVudCwgY2FsbGJhY2spIHtcbiAgaWYoIWNhbGxiYWNrKSB7XG4gICAgY2FsbGJhY2sgPSBlbGVtZW50XG4gICAgZWxlbWVudCA9IHdpbmRvd1xuICB9XG5cbiAgdmFyIGJ1dHRvblN0YXRlID0gMFxuICB2YXIgeCA9IDBcbiAgdmFyIHkgPSAwXG4gIHZhciBtb2RzID0ge1xuICAgIHNoaWZ0OiAgIGZhbHNlLFxuICAgIGFsdDogICAgIGZhbHNlLFxuICAgIGNvbnRyb2w6IGZhbHNlLFxuICAgIG1ldGE6ICAgIGZhbHNlXG4gIH1cbiAgdmFyIGF0dGFjaGVkID0gZmFsc2VcblxuICBmdW5jdGlvbiB1cGRhdGVNb2RzKGV2KSB7XG4gICAgdmFyIGNoYW5nZWQgPSBmYWxzZVxuICAgIGlmKCdhbHRLZXknIGluIGV2KSB7XG4gICAgICBjaGFuZ2VkID0gY2hhbmdlZCB8fCBldi5hbHRLZXkgIT09IG1vZHMuYWx0XG4gICAgICBtb2RzLmFsdCA9ICEhZXYuYWx0S2V5XG4gICAgfVxuICAgIGlmKCdzaGlmdEtleScgaW4gZXYpIHtcbiAgICAgIGNoYW5nZWQgPSBjaGFuZ2VkIHx8IGV2LnNoaWZ0S2V5ICE9PSBtb2RzLnNoaWZ0XG4gICAgICBtb2RzLnNoaWZ0ID0gISFldi5zaGlmdEtleVxuICAgIH1cbiAgICBpZignY3RybEtleScgaW4gZXYpIHtcbiAgICAgIGNoYW5nZWQgPSBjaGFuZ2VkIHx8IGV2LmN0cmxLZXkgIT09IG1vZHMuY29udHJvbFxuICAgICAgbW9kcy5jb250cm9sID0gISFldi5jdHJsS2V5XG4gICAgfVxuICAgIGlmKCdtZXRhS2V5JyBpbiBldikge1xuICAgICAgY2hhbmdlZCA9IGNoYW5nZWQgfHwgZXYubWV0YUtleSAhPT0gbW9kcy5tZXRhXG4gICAgICBtb2RzLm1ldGEgPSAhIWV2Lm1ldGFLZXlcbiAgICB9XG4gICAgcmV0dXJuIGNoYW5nZWRcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUV2ZW50KG5leHRCdXR0b25zLCBldikge1xuICAgIHZhciBuZXh0WCA9IG1vdXNlLngoZXYpXG4gICAgdmFyIG5leHRZID0gbW91c2UueShldilcbiAgICBpZignYnV0dG9ucycgaW4gZXYpIHtcbiAgICAgIG5leHRCdXR0b25zID0gZXYuYnV0dG9uc3wwXG4gICAgfVxuICAgIGlmKG5leHRCdXR0b25zICE9PSBidXR0b25TdGF0ZSB8fFxuICAgICAgIG5leHRYICE9PSB4IHx8XG4gICAgICAgbmV4dFkgIT09IHkgfHxcbiAgICAgICB1cGRhdGVNb2RzKGV2KSkge1xuICAgICAgYnV0dG9uU3RhdGUgPSBuZXh0QnV0dG9uc3wwXG4gICAgICB4ID0gbmV4dFh8fDBcbiAgICAgIHkgPSBuZXh0WXx8MFxuICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2soYnV0dG9uU3RhdGUsIHgsIHksIG1vZHMpXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2xlYXJTdGF0ZShldikge1xuICAgIGhhbmRsZUV2ZW50KDAsIGV2KVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlQmx1cigpIHtcbiAgICBpZihidXR0b25TdGF0ZSB8fFxuICAgICAgeCB8fFxuICAgICAgeSB8fFxuICAgICAgbW9kcy5zaGlmdCB8fFxuICAgICAgbW9kcy5hbHQgfHxcbiAgICAgIG1vZHMubWV0YSB8fFxuICAgICAgbW9kcy5jb250cm9sKSB7XG5cbiAgICAgIHggPSB5ID0gMFxuICAgICAgYnV0dG9uU3RhdGUgPSAwXG4gICAgICBtb2RzLnNoaWZ0ID0gbW9kcy5hbHQgPSBtb2RzLmNvbnRyb2wgPSBtb2RzLm1ldGEgPSBmYWxzZVxuICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2soMCwgMCwgMCwgbW9kcylcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVNb2RzKGV2KSB7XG4gICAgaWYodXBkYXRlTW9kcyhldikpIHtcbiAgICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKGJ1dHRvblN0YXRlLCB4LCB5LCBtb2RzKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlTW92ZShldikge1xuICAgIGlmKG1vdXNlLmJ1dHRvbnMoZXYpID09PSAwKSB7XG4gICAgICBoYW5kbGVFdmVudCgwLCBldilcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlRXZlbnQoYnV0dG9uU3RhdGUsIGV2KVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlRG93bihldikge1xuICAgIGhhbmRsZUV2ZW50KGJ1dHRvblN0YXRlIHwgbW91c2UuYnV0dG9ucyhldiksIGV2KVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VVcChldikge1xuICAgIGhhbmRsZUV2ZW50KGJ1dHRvblN0YXRlICYgfm1vdXNlLmJ1dHRvbnMoZXYpLCBldilcbiAgfVxuXG4gIGZ1bmN0aW9uIGF0dGFjaExpc3RlbmVycygpIHtcbiAgICBpZihhdHRhY2hlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGF0dGFjaGVkID0gdHJ1ZVxuXG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBoYW5kbGVNb3VzZU1vdmUpXG5cbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZU1vdXNlRG93bilcblxuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGhhbmRsZU1vdXNlVXApXG5cbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBjbGVhclN0YXRlKVxuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIGNsZWFyU3RhdGUpXG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIGNsZWFyU3RhdGUpXG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW92ZXInLCBjbGVhclN0YXRlKVxuXG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgaGFuZGxlQmx1cilcblxuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVNb2RzKVxuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZU1vZHMpXG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIGhhbmRsZU1vZHMpXG5cbiAgICBpZihlbGVtZW50ICE9PSB3aW5kb3cpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgaGFuZGxlQmx1cilcblxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlTW9kcylcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlTW9kcylcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIGhhbmRsZU1vZHMpXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZGV0YWNoTGlzdGVuZXJzKCkge1xuICAgIGlmKCFhdHRhY2hlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGF0dGFjaGVkID0gZmFsc2VcblxuICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgaGFuZGxlTW91c2VNb3ZlKVxuXG4gICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVNb3VzZURvd24pXG5cbiAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBoYW5kbGVNb3VzZVVwKVxuXG4gICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgY2xlYXJTdGF0ZSlcbiAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBjbGVhclN0YXRlKVxuICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCBjbGVhclN0YXRlKVxuICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgY2xlYXJTdGF0ZSlcblxuICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUJsdXIpXG5cbiAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlTW9kcylcbiAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVNb2RzKVxuICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5cHJlc3MnLCBoYW5kbGVNb2RzKVxuXG4gICAgaWYoZWxlbWVudCAhPT0gd2luZG93KSB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUJsdXIpXG5cbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIGhhbmRsZU1vZHMpXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZU1vZHMpXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5cHJlc3MnLCBoYW5kbGVNb2RzKVxuICAgIH1cbiAgfVxuXG4gIC8vQXR0YWNoIGxpc3RlbmVyc1xuICBhdHRhY2hMaXN0ZW5lcnMoKVxuXG4gIHZhciByZXN1bHQgPSB7XG4gICAgZWxlbWVudDogZWxlbWVudFxuICB9XG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMocmVzdWx0LCB7XG4gICAgZW5hYmxlZDoge1xuICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGF0dGFjaGVkIH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uKGYpIHtcbiAgICAgICAgaWYoZikge1xuICAgICAgICAgIGF0dGFjaExpc3RlbmVycygpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGV0YWNoTGlzdGVuZXJzXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgfSxcbiAgICBidXR0b25zOiB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gYnV0dG9uU3RhdGUgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICB9LFxuICAgIHg6IHtcbiAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB4IH0sXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgfSxcbiAgICB5OiB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4geSB9LFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgIH0sXG4gICAgbW9kczoge1xuICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIG1vZHMgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIiwiJ3VzZSBzdHJpY3QnXG5cbmZ1bmN0aW9uIG1vdXNlQnV0dG9ucyhldikge1xuICBpZih0eXBlb2YgZXYgPT09ICdvYmplY3QnKSB7XG4gICAgaWYoJ2J1dHRvbnMnIGluIGV2KSB7XG4gICAgICByZXR1cm4gZXYuYnV0dG9uc1xuICAgIH0gZWxzZSBpZignd2hpY2gnIGluIGV2KSB7XG4gICAgICB2YXIgYiA9IGV2LndoaWNoXG4gICAgICBpZihiID09PSAyKSB7XG4gICAgICAgIHJldHVybiA0XG4gICAgICB9IGVsc2UgaWYoYiA9PT0gMykge1xuICAgICAgICByZXR1cm4gMlxuICAgICAgfSBlbHNlIGlmKGIgPiAwKSB7XG4gICAgICAgIHJldHVybiAxPDwoYi0xKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZignYnV0dG9uJyBpbiBldikge1xuICAgICAgdmFyIGIgPSBldi5idXR0b25cbiAgICAgIGlmKGIgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIDRcbiAgICAgIH0gZWxzZSBpZihiID09PSAyKSB7XG4gICAgICAgIHJldHVybiAyXG4gICAgICB9IGVsc2UgaWYoYiA+PSAwKSB7XG4gICAgICAgIHJldHVybiAxPDxiXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5leHBvcnRzLmJ1dHRvbnMgPSBtb3VzZUJ1dHRvbnNcblxuZnVuY3Rpb24gbW91c2VFbGVtZW50KGV2KSB7XG4gIHJldHVybiBldi50YXJnZXQgfHwgZXYuc3JjRWxlbWVudCB8fCB3aW5kb3dcbn1cbmV4cG9ydHMuZWxlbWVudCA9IG1vdXNlRWxlbWVudFxuXG5mdW5jdGlvbiBtb3VzZVJlbGF0aXZlWChldikge1xuICBpZih0eXBlb2YgZXYgPT09ICdvYmplY3QnKSB7XG4gICAgaWYoJ29mZnNldFgnIGluIGV2KSB7XG4gICAgICByZXR1cm4gZXYub2Zmc2V0WFxuICAgIH1cbiAgICB2YXIgdGFyZ2V0ID0gbW91c2VFbGVtZW50KGV2KVxuICAgIHZhciBib3VuZHMgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICByZXR1cm4gZXYuY2xpZW50WCAtIGJvdW5kcy5sZWZ0XG4gIH1cbiAgcmV0dXJuIDBcbn1cbmV4cG9ydHMueCA9IG1vdXNlUmVsYXRpdmVYXG5cbmZ1bmN0aW9uIG1vdXNlUmVsYXRpdmVZKGV2KSB7XG4gIGlmKHR5cGVvZiBldiA9PT0gJ29iamVjdCcpIHtcbiAgICBpZignb2Zmc2V0WScgaW4gZXYpIHtcbiAgICAgIHJldHVybiBldi5vZmZzZXRZXG4gICAgfVxuICAgIHZhciB0YXJnZXQgPSBtb3VzZUVsZW1lbnQoZXYpXG4gICAgdmFyIGJvdW5kcyA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIHJldHVybiBldi5jbGllbnRZIC0gYm91bmRzLnRvcFxuICB9XG4gIHJldHVybiAwXG59XG5leHBvcnRzLnkgPSBtb3VzZVJlbGF0aXZlWVxuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBwYXJzZVVuaXQoc3RyLCBvdXQpIHtcbiAgICBpZiAoIW91dClcbiAgICAgICAgb3V0ID0gWyAwLCAnJyBdXG5cbiAgICBzdHIgPSBTdHJpbmcoc3RyKVxuICAgIHZhciBudW0gPSBwYXJzZUZsb2F0KHN0ciwgMTApXG4gICAgb3V0WzBdID0gbnVtXG4gICAgb3V0WzFdID0gc3RyLm1hdGNoKC9bXFxkLlxcLVxcK10qXFxzKiguKikvKVsxXSB8fCAnJ1xuICAgIHJldHVybiBvdXRcbn0iLCIndXNlIHN0cmljdCdcblxudmFyIHBhcnNlVW5pdCA9IHJlcXVpcmUoJ3BhcnNlLXVuaXQnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRvUFhcblxudmFyIFBJWEVMU19QRVJfSU5DSCA9IDk2XG5cbmZ1bmN0aW9uIGdldFByb3BlcnR5SW5QWChlbGVtZW50LCBwcm9wKSB7XG4gIHZhciBwYXJ0cyA9IHBhcnNlVW5pdChnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUocHJvcCkpXG4gIHJldHVybiBwYXJ0c1swXSAqIHRvUFgocGFydHNbMV0sIGVsZW1lbnQpXG59XG5cbi8vVGhpcyBicnV0YWwgaGFjayBpcyBuZWVkZWRcbmZ1bmN0aW9uIGdldFNpemVCcnV0YWwodW5pdCwgZWxlbWVudCkge1xuICB2YXIgdGVzdERJViA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIHRlc3RESVYuc3R5bGVbJ2ZvbnQtc2l6ZSddID0gJzEyOCcgKyB1bml0XG4gIGVsZW1lbnQuYXBwZW5kQ2hpbGQodGVzdERJVilcbiAgdmFyIHNpemUgPSBnZXRQcm9wZXJ0eUluUFgodGVzdERJViwgJ2ZvbnQtc2l6ZScpIC8gMTI4XG4gIGVsZW1lbnQucmVtb3ZlQ2hpbGQodGVzdERJVilcbiAgcmV0dXJuIHNpemVcbn1cblxuZnVuY3Rpb24gdG9QWChzdHIsIGVsZW1lbnQpIHtcbiAgZWxlbWVudCA9IGVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keVxuICBzdHIgPSAoc3RyIHx8ICdweCcpLnRyaW0oKS50b0xvd2VyQ2FzZSgpXG4gIGlmKGVsZW1lbnQgPT09IHdpbmRvdyB8fCBlbGVtZW50ID09PSBkb2N1bWVudCkge1xuICAgIGVsZW1lbnQgPSBkb2N1bWVudC5ib2R5IFxuICB9XG4gIHN3aXRjaChzdHIpIHtcbiAgICBjYXNlICclJzogIC8vQW1iaWd1b3VzLCBub3Qgc3VyZSBpZiB3ZSBzaG91bGQgdXNlIHdpZHRoIG9yIGhlaWdodFxuICAgICAgcmV0dXJuIGVsZW1lbnQuY2xpZW50SGVpZ2h0IC8gMTAwLjBcbiAgICBjYXNlICdjaCc6XG4gICAgY2FzZSAnZXgnOlxuICAgICAgcmV0dXJuIGdldFNpemVCcnV0YWwoc3RyLCBlbGVtZW50KVxuICAgIGNhc2UgJ2VtJzpcbiAgICAgIHJldHVybiBnZXRQcm9wZXJ0eUluUFgoZWxlbWVudCwgJ2ZvbnQtc2l6ZScpXG4gICAgY2FzZSAncmVtJzpcbiAgICAgIHJldHVybiBnZXRQcm9wZXJ0eUluUFgoZG9jdW1lbnQuYm9keSwgJ2ZvbnQtc2l6ZScpXG4gICAgY2FzZSAndncnOlxuICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoLzEwMFxuICAgIGNhc2UgJ3ZoJzpcbiAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQvMTAwXG4gICAgY2FzZSAndm1pbic6XG4gICAgICByZXR1cm4gTWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdodCkgLyAxMDBcbiAgICBjYXNlICd2bWF4JzpcbiAgICAgIHJldHVybiBNYXRoLm1heCh3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0KSAvIDEwMFxuICAgIGNhc2UgJ2luJzpcbiAgICAgIHJldHVybiBQSVhFTFNfUEVSX0lOQ0hcbiAgICBjYXNlICdjbSc6XG4gICAgICByZXR1cm4gUElYRUxTX1BFUl9JTkNIIC8gMi41NFxuICAgIGNhc2UgJ21tJzpcbiAgICAgIHJldHVybiBQSVhFTFNfUEVSX0lOQ0ggLyAyNS40XG4gICAgY2FzZSAncHQnOlxuICAgICAgcmV0dXJuIFBJWEVMU19QRVJfSU5DSCAvIDcyXG4gICAgY2FzZSAncGMnOlxuICAgICAgcmV0dXJuIFBJWEVMU19QRVJfSU5DSCAvIDZcbiAgfVxuICByZXR1cm4gMVxufSIsIid1c2Ugc3RyaWN0J1xuXG52YXIgdG9QWCA9IHJlcXVpcmUoJ3RvLXB4JylcblxubW9kdWxlLmV4cG9ydHMgPSBtb3VzZVdoZWVsTGlzdGVuXG5cbmZ1bmN0aW9uIG1vdXNlV2hlZWxMaXN0ZW4oZWxlbWVudCwgY2FsbGJhY2ssIG5vU2Nyb2xsKSB7XG4gIGlmKHR5cGVvZiBlbGVtZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgbm9TY3JvbGwgPSAhIWNhbGxiYWNrXG4gICAgY2FsbGJhY2sgPSBlbGVtZW50XG4gICAgZWxlbWVudCA9IHdpbmRvd1xuICB9XG4gIHZhciBsaW5lSGVpZ2h0ID0gdG9QWCgnZXgnLCBlbGVtZW50KVxuICB2YXIgbGlzdGVuZXIgPSBmdW5jdGlvbihldikge1xuICAgIGlmKG5vU2Nyb2xsKSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpXG4gICAgfVxuICAgIHZhciBkeCA9IGV2LmRlbHRhWCB8fCAwXG4gICAgdmFyIGR5ID0gZXYuZGVsdGFZIHx8IDBcbiAgICB2YXIgZHogPSBldi5kZWx0YVogfHwgMFxuICAgIHZhciBtb2RlID0gZXYuZGVsdGFNb2RlXG4gICAgdmFyIHNjYWxlID0gMVxuICAgIHN3aXRjaChtb2RlKSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHNjYWxlID0gbGluZUhlaWdodFxuICAgICAgYnJlYWtcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgc2NhbGUgPSB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGR4ICo9IHNjYWxlXG4gICAgZHkgKj0gc2NhbGVcbiAgICBkeiAqPSBzY2FsZVxuICAgIGlmKGR4IHx8IGR5IHx8IGR6KSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2soZHgsIGR5LCBkeiwgZXYpXG4gICAgfVxuICB9XG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBsaXN0ZW5lcilcbiAgcmV0dXJuIGxpc3RlbmVyXG59XG4iLCJ2YXIgbW91c2VDaGFuZ2UgPSByZXF1aXJlKCdtb3VzZS1jaGFuZ2UnKVxudmFyIG1vdXNlV2hlZWwgPSByZXF1aXJlKCdtb3VzZS13aGVlbCcpXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCdnbC1tYXQ0L2lkZW50aXR5JylcbnZhciBwZXJzcGVjdGl2ZSA9IHJlcXVpcmUoJ2dsLW1hdDQvcGVyc3BlY3RpdmUnKVxudmFyIGxvb2tBdCA9IHJlcXVpcmUoJ2dsLW1hdDQvbG9va0F0JylcblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVDYW1lcmFcblxudmFyIGlzQnJvd3NlciA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnXG5cbmZ1bmN0aW9uIGNyZWF0ZUNhbWVyYSAocmVnbCwgcHJvcHNfKSB7XG4gIHZhciBwcm9wcyA9IHByb3BzXyB8fCB7fVxuICB2YXIgY2FtZXJhU3RhdGUgPSB7XG4gICAgdmlldzogaWRlbnRpdHkobmV3IEZsb2F0MzJBcnJheSgxNikpLFxuICAgIHByb2plY3Rpb246IGlkZW50aXR5KG5ldyBGbG9hdDMyQXJyYXkoMTYpKSxcbiAgICBjZW50ZXI6IG5ldyBGbG9hdDMyQXJyYXkocHJvcHMuY2VudGVyIHx8IDMpLFxuICAgIHRoZXRhOiBwcm9wcy50aGV0YSB8fCAwLFxuICAgIHBoaTogcHJvcHMucGhpIHx8IDAsXG4gICAgZGlzdGFuY2U6IE1hdGgubG9nKHByb3BzLmRpc3RhbmNlIHx8IDEwLjApLFxuICAgIGV5ZTogbmV3IEZsb2F0MzJBcnJheSgzKSxcbiAgICB1cDogbmV3IEZsb2F0MzJBcnJheShwcm9wcy51cCB8fCBbMCwgMSwgMF0pLFxuICAgIGZvdnk6IHByb3BzLmZvdnkgfHwgTWF0aC5QSSAvIDQuMCxcbiAgICBuZWFyOiB0eXBlb2YgcHJvcHMubmVhciAhPT0gJ3VuZGVmaW5lZCcgPyBwcm9wcy5uZWFyIDogMC4wMSxcbiAgICBmYXI6IHR5cGVvZiBwcm9wcy5mYXIgIT09ICd1bmRlZmluZWQnID8gcHJvcHMuZmFyIDogMTAwMC4wLFxuICAgIGZsaXBZOiAhIXByb3BzLmZsaXBZLFxuICAgIGR0aGV0YTogMCxcbiAgICBkcGhpOiAwXG4gIH1cblxuICB2YXIgcmlnaHQgPSBuZXcgRmxvYXQzMkFycmF5KFsxLCAwLCAwXSlcbiAgdmFyIGZyb250ID0gbmV3IEZsb2F0MzJBcnJheShbMCwgMCwgMV0pXG5cbiAgdmFyIG1pbkRpc3RhbmNlID0gTWF0aC5sb2coJ21pbkRpc3RhbmNlJyBpbiBwcm9wcyA/IHByb3BzLm1pbkRpc3RhbmNlIDogMC4xKVxuICB2YXIgbWF4RGlzdGFuY2UgPSBNYXRoLmxvZygnbWF4RGlzdGFuY2UnIGluIHByb3BzID8gcHJvcHMubWF4RGlzdGFuY2UgOiAxMDAwKVxuXG4gIHZhciBkZGlzdGFuY2UgPSAwXG5cbiAgdmFyIHByZXZYID0gMFxuICB2YXIgcHJldlkgPSAwXG5cbiAgaWYgKGlzQnJvd3NlciAmJiBwcm9wcy5tb3VzZSAhPT0gZmFsc2UpIHtcbiAgICBtb3VzZUNoYW5nZShmdW5jdGlvbiAoYnV0dG9ucywgeCwgeSkge1xuICAgICAgaWYgKGJ1dHRvbnMgJiAxKSB7XG4gICAgICAgIHZhciBkeCA9ICh4IC0gcHJldlgpIC8gd2luZG93LmlubmVyV2lkdGhcbiAgICAgICAgdmFyIGR5ID0gKHkgLSBwcmV2WSkgLyB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICAgdmFyIHcgPSBNYXRoLm1heChjYW1lcmFTdGF0ZS5kaXN0YW5jZSwgMC41KVxuXG4gICAgICAgIGNhbWVyYVN0YXRlLmR0aGV0YSArPSB3ICogZHhcbiAgICAgICAgY2FtZXJhU3RhdGUuZHBoaSArPSB3ICogZHlcbiAgICAgIH1cbiAgICAgIHByZXZYID0geFxuICAgICAgcHJldlkgPSB5XG4gICAgfSlcbiAgICBtb3VzZVdoZWVsKGZ1bmN0aW9uIChkeCwgZHkpIHtcbiAgICAgIGRkaXN0YW5jZSArPSBkeSAvIHdpbmRvdy5pbm5lckhlaWdodFxuICAgIH0pXG4gIH1cblxuICBmdW5jdGlvbiBkYW1wICh4KSB7XG4gICAgdmFyIHhkID0geCAqIDAuOVxuICAgIGlmIChNYXRoLmFicyh4ZCkgPCAwLjEpIHtcbiAgICAgIHJldHVybiAwXG4gICAgfVxuICAgIHJldHVybiB4ZFxuICB9XG5cbiAgZnVuY3Rpb24gY2xhbXAgKHgsIGxvLCBoaSkge1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCh4LCBsbyksIGhpKVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlQ2FtZXJhIChwcm9wcykge1xuICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICBjYW1lcmFTdGF0ZVtwcm9wXSA9IHByb3BzW3Byb3BdXG4gICAgfSlcblxuICAgIHZhciBjZW50ZXIgPSBjYW1lcmFTdGF0ZS5jZW50ZXJcbiAgICB2YXIgZXllID0gY2FtZXJhU3RhdGUuZXllXG4gICAgdmFyIHVwID0gY2FtZXJhU3RhdGUudXBcbiAgICB2YXIgZHRoZXRhID0gY2FtZXJhU3RhdGUuZHRoZXRhXG4gICAgdmFyIGRwaGkgPSBjYW1lcmFTdGF0ZS5kcGhpXG5cbiAgICBjYW1lcmFTdGF0ZS50aGV0YSArPSBkdGhldGFcbiAgICBjYW1lcmFTdGF0ZS5waGkgPSBjbGFtcChcbiAgICAgIGNhbWVyYVN0YXRlLnBoaSArIGRwaGksXG4gICAgICAtTWF0aC5QSSAvIDIuMCxcbiAgICAgIE1hdGguUEkgLyAyLjApXG4gICAgY2FtZXJhU3RhdGUuZGlzdGFuY2UgPSBjbGFtcChcbiAgICAgIGNhbWVyYVN0YXRlLmRpc3RhbmNlICsgZGRpc3RhbmNlLFxuICAgICAgbWluRGlzdGFuY2UsXG4gICAgICBtYXhEaXN0YW5jZSlcblxuICAgIGNhbWVyYVN0YXRlLmR0aGV0YSA9IGRhbXAoZHRoZXRhKVxuICAgIGNhbWVyYVN0YXRlLmRwaGkgPSBkYW1wKGRwaGkpXG4gICAgZGRpc3RhbmNlID0gZGFtcChkZGlzdGFuY2UpXG5cbiAgICB2YXIgdGhldGEgPSBjYW1lcmFTdGF0ZS50aGV0YVxuICAgIHZhciBwaGkgPSBjYW1lcmFTdGF0ZS5waGlcbiAgICB2YXIgciA9IE1hdGguZXhwKGNhbWVyYVN0YXRlLmRpc3RhbmNlKVxuXG4gICAgdmFyIHZmID0gciAqIE1hdGguc2luKHRoZXRhKSAqIE1hdGguY29zKHBoaSlcbiAgICB2YXIgdnIgPSByICogTWF0aC5jb3ModGhldGEpICogTWF0aC5jb3MocGhpKVxuICAgIHZhciB2dSA9IHIgKiBNYXRoLnNpbihwaGkpXG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDM7ICsraSkge1xuICAgICAgZXllW2ldID0gY2VudGVyW2ldICsgdmYgKiBmcm9udFtpXSArIHZyICogcmlnaHRbaV0gKyB2dSAqIHVwW2ldXG4gICAgfVxuXG4gICAgbG9va0F0KGNhbWVyYVN0YXRlLnZpZXcsIGV5ZSwgY2VudGVyLCB1cClcbiAgfVxuXG4gIHZhciBpbmplY3RDb250ZXh0ID0gcmVnbCh7XG4gICAgY29udGV4dDogT2JqZWN0LmFzc2lnbih7fSwgY2FtZXJhU3RhdGUsIHtcbiAgICAgIHByb2plY3Rpb246IGZ1bmN0aW9uICh7dmlld3BvcnRXaWR0aCwgdmlld3BvcnRIZWlnaHR9KSB7XG4gICAgICAgIHBlcnNwZWN0aXZlKGNhbWVyYVN0YXRlLnByb2plY3Rpb24sXG4gICAgICAgICAgY2FtZXJhU3RhdGUuZm92eSxcbiAgICAgICAgICB2aWV3cG9ydFdpZHRoIC8gdmlld3BvcnRIZWlnaHQsXG4gICAgICAgICAgY2FtZXJhU3RhdGUubmVhcixcbiAgICAgICAgICBjYW1lcmFTdGF0ZS5mYXIpXG4gICAgICAgIGlmIChjYW1lcmFTdGF0ZS5mbGlwWSkgeyBjYW1lcmFTdGF0ZS5wcm9qZWN0aW9uWzVdICo9IC0xIH1cbiAgICAgICAgcmV0dXJuIGNhbWVyYVN0YXRlLnByb2plY3Rpb25cbiAgICAgIH1cbiAgICB9KSxcbiAgICB1bmlmb3JtczogT2JqZWN0LmtleXMoY2FtZXJhU3RhdGUpLnJlZHVjZShmdW5jdGlvbiAodW5pZm9ybXMsIG5hbWUpIHtcbiAgICAgIHVuaWZvcm1zW25hbWVdID0gcmVnbC5jb250ZXh0KG5hbWUpXG4gICAgICByZXR1cm4gdW5pZm9ybXNcbiAgICB9LCB7fSlcbiAgfSlcblxuICBmdW5jdGlvbiBzZXR1cENhbWVyYSAocHJvcHMsIGJsb2NrKSB7XG4gICAgaWYgKCFibG9jaykge1xuICAgICAgYmxvY2sgPSBwcm9wc1xuICAgICAgcHJvcHMgPSB7fVxuICAgIH1cbiAgICB1cGRhdGVDYW1lcmEocHJvcHMpXG4gICAgaW5qZWN0Q29udGV4dChibG9jaylcbiAgfVxuXG4gIE9iamVjdC5rZXlzKGNhbWVyYVN0YXRlKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgc2V0dXBDYW1lcmFbbmFtZV0gPSBjYW1lcmFTdGF0ZVtuYW1lXVxuICB9KVxuXG4gIHJldHVybiBzZXR1cENhbWVyYVxufVxuIl19
const quat = require('gl-quat')
const regl = require('regl')()
const model = require('regl-model')(regl)
const bunny = require('regl-primitive')(regl, require('bunny'))
const camera = require('regl-camera')(regl, {distance: 40})
const material = regl({
vert: `
precision mediump float;
attribute vec3 position, normal;
uniform mat4 projection, model, view;
varying vec3 vnormal;
void main () {
vnormal = normal;
gl_Position = projection * view * model * vec4(position, 1.0);
}
`,
frag: `
precision mediump float;
varying vec3 vnormal;
void main () {
gl_FragColor = vec4(abs(vnormal), 1.0);
}
`,
})
const rotation = [0, 0, 0, 1]
regl.frame(({time}) => {
regl.clear({color: [0, 0, 0, 1], depth: true})
quat.identity(rotation)
quat.rotateX(rotation, rotation, 0.8*time)
quat.rotateY(rotation, rotation, 0.8*time)
camera(() => {
model({rotation}, () => {
material(() => {
bunny()
})
})
})
})
;}, 0)
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"gl-quat": "1.0.0",
"regl": "1.2.1",
"regl-model": "1.0.1",
"regl-primitive": "1.0.1",
"bunny": "1.0.1",
"regl-camera": "1.1.0"
}
}
<!-- contents of this file will be placed inside the <body> -->
<!-- contents of this file will be placed inside the <head> -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment